c#对EXCEL工作表的操作 我用"select * from [" + "Sheet1" + "$]" 来做为对EXCEL工作表的操作。但现在问题来了,客户想随时改变工作表的名字,比如他想用时间来命名工作表。如:用08.07.17代替“Sheet1”,那么我现在应该怎么办呢?怎么样获取excel文件的第一张工作表的名字,然后取代“Sheet1”呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 先获取所有Sheets,然后访问Sheets[0], 读取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列为表名 我没有看到Table_Name,也没有看到sheet名字啊? 好。我已经看到Table_Name列下的“Sheet1$”,我想得到“Sheet”,应该怎么做? dt.Rows[0][2].ToString().Trim();得到"Sheet1$",为什么会有$ 的呢? 附加美元符号 ($) 的 Excel 对象名称代表工作表(例如,Sheet1$),而没有美元符号的普通对象名称代表 Excel 指定的范围。 为什么我还真的不知道,不过你就用这个名字肯定就对了,要不然你用OLEDB该问EXCEL工作表,还是要在表名后面加上$的。 如下这样就可以了。不用根据表名,而是根据数组获取命名空间: 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;} HttpWebRequest 获取验证码进行识别,老是提示错误,验证码已经识别成功了 父窗体刷新 求教叫一个关于fontDialog的问题 C#中axWindowsMediaPlayer1相关问题 数组排序,求代码 wpf C#正则问题。那位大哥来看看。有难度 请教vs2005安装的一个小问题 “event究竟是不是多余的?”---正解征集 打印的问题,请大家帮帮忙,多谢! 在代码中,使用this.printDocument1.Print()打印比直接打印结果小 C# 有没有把字符串转换成语句的方法?
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列为表名
我没有看到Table_Name,也没有看到sheet名字啊?
命名空间: 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;
}