假设您不知道 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;
关于c# - 你如何获得excel工作簿第一页的名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1427348/