c#对EXCEL工作表的操作

xiepengyu 2008-07-17 09:53:21
我用"select * from [" + "Sheet1" + "$]" 来做为对EXCEL工作表的操作。但现在问题来了,客户想随时改变工作表的名字,比如他想用时间来命名工作表。如:用08.07.17代替“Sheet1”,那么我现在应该怎么办呢?怎么样获取excel文件的第一张工作表的名字,然后取代“Sheet1”呢?
...全文
179 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
happyboxman 2008-07-17
  • 打赏
  • 举报
回复
如下这样就可以了。。。。

不用根据表名,而是根据数组获取
命名空间: Microsoft.Office.Tools.Excel
程序集: Microsoft.Office.Tools.Excel(在 Microsoft.Office.Tools.Excel.dll 中)
下面的代码示例使用 Worksheets 属性使当前工作簿中的第二个工作表不可见。

private void HideSecondWorksheet()
{
Excel.Worksheet worksheet = (Excel.Worksheet)this.Worksheets[2];
worksheet.Visible = Excel.XlSheetVisibility.xlSheetHidden;
}


特别 2008-07-17
  • 打赏
  • 举报
回复
为什么我还真的不知道,不过你就用这个名字肯定就对了,要不然你用OLEDB该问EXCEL工作表,还是要在表名后面加上$的。
happyboxman 2008-07-17
  • 打赏
  • 举报
回复
附加美元符号 ($) 的 Excel 对象名称代表工作表(例如,Sheet1$),而没有美元符号的普通对象名称代表 Excel 指定的范围。
xiepengyu 2008-07-17
  • 打赏
  • 举报
回复
dt.Rows[0][2].ToString().Trim();得到"Sheet1$",为什么会有$ 的呢?
xiepengyu 2008-07-17
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 sdfkfkd 的回复:]
不会吧,我是在VS2005中测试的啊
[/Quote]
好。我已经看到Table_Name列下的“Sheet1$”,我想得到“Sheet”,应该怎么做?
特别 2008-07-17
  • 打赏
  • 举报
回复
不会吧,我是在VS2005中测试的啊
xiepengyu 2008-07-17
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 sdfkfkd 的回复:]
读取EXCEL表信息
C# codestringstrConn="Provider=Microsoft.Jet.OLEDB.4.0;Data Source='f:\\2222.xls';Extended Properties=Excel 8.0";
OleDbConnection conn=newOleDbConnection();
conn.ConnectionString=strConn;
conn.Open();

DataTable dt=conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables,null);
conn.Close();
dataGridView1.DataSource=…
[/Quote]

我没有看到Table_Name,也没有看到sheet名字啊?
特别 2008-07-17
  • 打赏
  • 举报
回复
读取EXCEL表信息

string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source='f:\\2222.xls';Extended Properties=Excel 8.0";
OleDbConnection conn = new OleDbConnection();
conn.ConnectionString = strConn;
conn.Open();

DataTable dt = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
conn.Close();
dataGridView1.DataSource = dt;
dataGridView1.Refresh();

Table_Name列为表名
xiepengyu 2008-07-17
  • 打赏
  • 举报
回复
给个例子,谢谢
nattystyle 2008-07-17
  • 打赏
  • 举报
回复
楼上正解
skison 2008-07-17
  • 打赏
  • 举报
回复
先获取所有Sheets,然后访问Sheets[0],
Free Spire.XLS for .NET 是e-iceblue公司开发的一款支持对所有Excel格式类型文件进行操作的.NET 控件。它适用于任何类型的应用程序比如ASP.NET Web应用程序或者Windows桌面应用程序。Spire.XLS for .NET允许开发人员创建和管理Excel,而不需要安装Microsoft Excel或者Microsoft Office。相比Microsoft,Spire.XLS for .NET对于开发人员来说是一个更好的选择 - 自动化,安全,稳定,可扩展性延伸,速度快,价格便宜和功能强大。 通过使用Free Spire.XLS for .NET,开发人员可以快速方便的查看,生成,读写以及自定义编辑Excel文件。Spire.XLS for .NET支持Excel 97-2003, Excel 2007, Excel 2010 and Excel 2013。它还支持C#, VB.NET, ASP.NET和 ASP.NET MVC编程语言 作为一款专业,强大,方便易用的控件,Spire.XLS for .NET有一下主要功能: 新建Excel文件,编辑已有的Excel文件,多种保存Excel方式,设置Excel文件属性,文件打印设置,合并,拆分或者拷贝单元格,支持对Excel文件加锁或者加密保护。 Spire.XLS for .NET支持把数据从数据库导出到Excel工作,或者把数据从Excel数据导入到数据库。 Spire.XLS for .NET 提供强大的功能为开发者设置单元格格式。这次格式化数字,文字缩进,定位调整,设置单元格边线,单元格填充以及保护等。 开发人员可以轻松的利用Spire.XLS for .NET向Excel文件里面写入内容,包括超过530多种的公式,70多种格,支持插入图片,不同类型的文字,链接,注释甚至VBA等。 Spire.XLS for .NET 还允许开发人员将Excel文件转换成PDF, HTML, CSV, Text, XML以及图片格式。 注:下载包含有Spire.xls.dll文件以及部分Demo, 你可以调用DLL并参照Demo提供的代码处理Excel文档。

110,621

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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