Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用WIndows应用程序驱动程序测试excel电子表格_C#_Excel_Windows_Selenium_Automation - Fatal编程技术网

C# 如何使用WIndows应用程序驱动程序测试excel电子表格

C# 如何使用WIndows应用程序驱动程序测试excel电子表格,c#,excel,windows,selenium,automation,C#,Excel,Windows,Selenium,Automation,我已经运行了Windows应用程序驱动程序计算器测试示例应用程序。 现在,我想用excel电子表格替换Windows标准计算器 我想将值插入电子表格并检索结果 我查看了Github上的源代码,但无法识别对计算器应用程序的调用,也不知道对Excel exe的相关调用是什么 我需要了解如何启动Excel,将值插入Excel,然后从Excel电子表格中的预设单元格中检索值 谢谢示例: private Microsoft.Office.Interop.Excel.Application ObjExcel

我已经运行了Windows应用程序驱动程序计算器测试示例应用程序。 现在,我想用excel电子表格替换Windows标准计算器

我想将值插入电子表格并检索结果

我查看了Github上的源代码,但无法识别对计算器应用程序的调用,也不知道对Excel exe的相关调用是什么

我需要了解如何启动Excel,将值插入Excel,然后从Excel电子表格中的预设单元格中检索值

谢谢

示例:

private Microsoft.Office.Interop.Excel.Application ObjExcel;
        private Microsoft.Office.Interop.Excel.Workbook ObjWorkBook;
        private Microsoft.Office.Interop.Excel.Worksheet ObjWorkSheet;

string fileName = System.Windows.Forms.Application.StartupPath + "\\" + textBox1.Text + ".xlsx";
            MessageBox.Show(fileName);
            try
            {
                ObjExcel = new Microsoft.Office.Interop.Excel.Application();

                ObjWorkBook = ObjExcel.Workbooks.Add(System.Reflection.Missing.Value);

                ObjWorkSheet = (Microsoft.Office.Interop.Excel.Worksheet)ObjWorkBook.Sheets[1];


                for (int i = 0; i < dataGridView1.Rows.Count; i++)
                {
                    DataGridViewRow row = dataGridView1.Rows[i]; 
                    for (int j = 0; j < row.Cells.Count; j++) 
                    {ObjExcel.Cells[1, 1]="id";
                ObjExcel.Cells[1, 1]="column";
                ObjExcel.Cells[1, 2]="column";
                ObjExcel.Cells[1, 3]="column";
                        ObjExcel.Cells[i + 1, j + 1] = row.Cells[j].Value;
                    }
                }
                ObjWorkBook.Save();
            }
            catch (Exception ex) { MessageBox.Show(ex.Message, "Error"); }

            ObjWorkBook.Close(null, System.Windows.Forms.Application.StartupPath + "\\" + textBox1.Text + ".xlsx", null);

                    ObjExcel.Quit();
                    ObjWorkBook = null;
                    ObjWorkSheet = null;
                    ObjExcel = null;
                    GC.Collect();

            this.Text = this.Text + " - " + textBox1.Text + ".xlsx";

嗯,我决定手工测试excel电子表格。因为我可以用手很快地做一些事情,事情变得越来越复杂。谢谢大家的帮助。

您需要了解如何启动Excel?我将重复我认为您正在尝试的操作,您可以纠正我。我猜,您需要编写一个桌面应用程序来启动Excel,并允许该应用程序将内容写入某些单元格数字和公式中,然后让Excel计算引擎完成它的工作,当Excel完成计算后,您需要从其他Excel单元格中提取结果。对吗?您是否考虑过其他可能的解决方案?Excel有很多扩展点,但是我不知道你怎么做。你找不到对计算器的调用吗?它们在这里:这不是一个调用:它是查找一个UI元素,例如按钮,并与之交互,例如单击it@Flydog57也许是对的。这可能是一个XY问题。您想学习测试自动化还是想自动化Excel?这是一个很大的区别。@Weller@Flydog5我想做的就是超越计算器测试对Windows计算器的功能。我曾使用自动化测试应用程序和网站,我认为我可以使用excel,但找不到要执行的命令,因此这与GUI自动化无关。问题是关于使用excel工具进行计算。我举了一个用c@ThomasWeller创建和填充excel表格的例子:你如何确定这不是OP所问的问题?@Flydog57:标题包括Windows应用程序驱动程序,这个答案与此无关that@DeviceThanks就工作而言,VS中的VBA或c不是这里的事情,其想法是通过GUI自动化excel电子表格的测试,就像人类与电子表格交互一样。