假设您不知道Excel工作簿中第一个工作表的名称.你想找到一种从第一页读取的方法.这个片段有时会起作用,但并非总是如此.只有我吗?或者有没有一个明智的方法来做到这一点?
MyConnection = new System.Data.OleDb.OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0;Data Source='" + inputFile + "';Extended Properties=Excel 8.0;"); String[] excelSheets = new String[tbl.Rows.Count]; int i = 0; foreach (DataRow row in tbl.Rows) { excelSheets[i] = row["TABLE_NAME"].ToString(); i++; } string pageName = excelSheets[0]; OleDbDataAdapter myAdapter = new System.Data.OleDb.OleDbDataAdapter("SELECT * FROM [" + pageName + "]", MyConnection);
注意:我正在寻找第一个工作表的名称.
如果您在计算机上安装了Office,为什么不使用Visual Studio Tools for Office(VSTO).这里基本上是获取工作表的代码:
Microsoft.Office.Interop.Excel.Application app = new Microsoft.Office.Interop.Excel.Application(); Microsoft.Office.Interop.Excel.Workbook workbook = app.Workbooks.Open(fileName,otherarguments); Microsoft.Office.Interop.Excel.Worksheet worksheet = workbook.Worksheets[1] as Microsoft.Office.Interop.Excel.Worksheet;