0

我正在创建一个应该从 excel 表中读取参数的测试框架。我希望能够:

  1. 获取工作表中测试记录的行数
  2. 获取列数
  3. 引用特定单元格,例如 A23 并读取或写入值。

我在互联网上找到了这段代码。它很棒,但它似乎已被编码为与表单组件一起使用。我不一定需要在数据网格上显示 excel 表。

这是我找到的代码。它工作正常,但我需要添加上面的功能。谢谢你的帮助 :)

using System.Data;
using System.Data.OleDb;
...
OleDbConnection con = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Book1.xls;Extended Properties=Excel 8.0");
OleDbDataAdapter da = new OleDbDataAdapter("select * from MyObject", con);
DataTable dt = new DataTable();
da.Fill(dt);
4

4 回答 4

1

计数行

sheet.Range["A11"].Formula = “COUNT(A1:A10)”;

计数列

sheet.Range["A12"].Formula = “COUNT(A1:F1)”;

.NET Excel 组件

于 2012-10-09T08:49:53.563 回答
0

you can Reference particular cells using this code :

Select * from [Sheet1$A1:B10] 

for example above code access to cell A1 to B10

see here

于 2012-10-06T07:58:31.677 回答
0

您可以使用此方法:

private DataTable LoadXLS(string filePath)
{
    DataTable table = new DataTable();
    DataRow row;
    try
    {
        using (OleDbConnection cnLogin = new OleDbConnection())
        {
            cnLogin.ConnectionString = "provider=Microsoft.Jet.OLEDB.4.0;Data Source='" + filePath + "';Extended Properties=Excel 8.0;";

                cnLogin.Open();
                string sQuery = "SELECT * FROM  [Sheet1$]";
                table.Columns.Add("Tags", typeof(string));
                table.Columns.Add("ReplaceWords", typeof(string));
                OleDbCommand comDB = new OleDbCommand(sQuery, cnLogin);

                using (OleDbDataReader drJobs = comDB.ExecuteReader(CommandBehavior.Default))
                {
                    while (drJobs.Read())
                    {
                        row = table.NewRow();
                        row["Tags"] = drJobs[0].ToString();
                        row["ReplaceWords"] = drJobs[1].ToString();
                        table.Rows.Add(row);
                    }
                }
            }
            return table;
        }

并像这样使用:

DataTable dtXLS = LoadXLS(path);
//and do what you need

如果您需要写入 Excel,您需要查看http://msdn.microsoft.com/en-us/library/dd264733.aspx

于 2012-10-06T14:37:47.463 回答
0

以下是处理 excel 文件和对其进行操作的一种简单方法:

  • 添加对microsoft.office.interop.excel项目的引用(添加引用.. => 在 .NET 选项卡下搜索 => 添加引用)
  • 创建一个新的 excel 应用程序并打开工作簿:

    Excel.Application application = new Excel.Application();
    Excel.Workbook workbook = application.Workbooks.Open(workBookPath);
    Excel.Worksheet worksheet = workbook.Sheets[worksheetNumber];
    
  • 您可以使用以下行获取行数和列数:

    var endColumn = worksheet.Columns.CurrentRegion.EntireColumn.Count;
    var endRow = worksheet.Rows.CurrentRegion.EntireRow.Count;***
    
  • 从一个单元格或一系列单元格中读取值可以通过以下方式完成(rowIndex 是您要读取的单元格所在的行号):

    System.Array values = (System.Array)worksheet.get_Range("A" + 
    rowIndex.ToString(), "D" + rowIndex.ToString()).Cells.Value;
    
于 2015-07-28T07:26:32.553 回答