获取excel工作表的名称

燕飞7 2009-04-25 09:36:05
string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" +"Data Source=D:/aa.xls;"+"Extended Properties=Excel 8.0;";
OleDbConnection conn = new OleDbConnection(strConn);
DataTable schemaTable = conn.GetOleDbSchemaTable(System.Data.OleDb.OleDbSchemaGuid.Tables,null);
string tableName=schemaTable.Rows[0][2].ToString().Trim();

这个schemaTable.Rows[0][2] 里面的2怎么换成列的名称,就是不用数字,用字符串来代替.


...全文
183 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
程序海哥 2009-04-25
  • 打赏
  • 举报
回复
这个schemaTable.Rows[0][2] 里面的2怎么换成列的名称,就是不用数字,用字符串来代替.?

[0][2]这个不是表示ExceL的B1这个单元格吗?(第0行第2列)

如果你2用字串字代替,不明白你要做什么哦?是不是想要读取不同行列单元格内容?
如果是这样的话,希望以下代码对你有所帮助
行:int row_cnt = this.schemaTable.Rows.Count;
列:int col_cnt = this.schemaTable.Columns.Count;

for (int row = 0; row < row_cnt; row++)
{
for (int col = 0; col < col_cnt; col++)
{
try
{
   Excel单元格= schemaTable.Rows[row].Cells[col].Value.ToString();

catch
{
MessageBox.Show("读Excel失败");
return;
}
}
rowIndex++;
}
燕飞7 2009-04-25
  • 打赏
  • 举报
回复
我看网上的一些代码用schemaTable.Rows[0]["TABLE_NAME"]来获取第一个工作表的名称
我不知道这个TABLE_NAME代表的是什么?我用excel的名称试了下,报错.

sabty 2009-04-25
  • 打赏
  • 举报
回复
你好,你可以直接写成字符串, 有什么问题吗
cpp2017 2009-04-25
  • 打赏
  • 举报
回复
"TABLE_NAME"

62,268

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧