c# - 你如何获得excel工作簿第一页的名称?

标签 c# excel

假设您不知道 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/

相关文章:

c# - InRequestScope 中的 Ninject 依赖项不会被释放

excel - 将数据添加到新工作表

python - 如何在第一个空行停止阅读带有 xlrd 的电子表格?

c# - 卸载 "eager-loaded"属性导致返回 json 数据时出现问题

c# - 在 .NET 中使用后将对象设置为 Null/Nothing

c# - 动态构建 Func<t,t> 列表 - 然后应用于 linq 查询

excel - 将列转换为单元格字符串 Power Query

sql-server - Excel 2010 从 Cell Function 中连接到 SQL Server 数据库?

excel - VBA 记录集筛选器通配符 'Ending With' 不起作用 - 错误 3001

c# - 测试对象以查看它是否实现接口(interface)有什么问题?