永发信息网

ASP.NET 如何获取 Excel 中工作表的名称。

答案:4  悬赏:60  手机版
解决时间 2021-04-07 16:20
用FileUpload获取用户上传的Excel 文件的名称。Excel 文件中有三个Sheet。名称用户已经改过。现在用一个Button事件获取用户上传的Excel 文件中的三个Sheet的名称。分别给Label1、Label2、Label3。望附完整的代码。谢谢!
最佳答案
openFileDialog1.ShowDialog();

oledbconn1.ConnectionString = "provider=Microsoft.Jet.OLEDB.4.0;data source="+openFileDialog1.FileName+";Extended Properties=Excel 8.0;Persist Security Info=False";

oledbconn1.Open();

DataTable dt = oledbconn1.GetOleDbSchemaTable(OleDbSchemaGuid.Tables,new objec] {null, null, null, "TABLE"});

foreach (DataRow dr in dt.Rows)
{

comboBox1.Items.Add((String)dr["TABLE_NAME"]);
}
全部回答
string connStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + fileUrl + ";Extended Properties='Excel 8.0;IMEX=1;HDR=" + ynHDR + "'"; System.Data.OleDb.OleDbConnection Conn2 = new System.Data.OleDb.OleDbConnection(connStr); Conn2.Open(); String sqlGetColumnName = "SELECT * FROM [" + sheet + "]"; System.Data.OleDb.OleDbDataAdapter odasheet = new System.Data.OleDb.OleDbDataAdapter(sqlGetColumnName, Conn2); DataSet dsSheet = new DataSet(); odasheet.Fill(dsSheet, dataSection); Conn2.Dispose(); Conn2.Close(); return dsSheet;
1、在EXCEL中引用当前工作表名 如果你的工作薄已经保存,下面公式可以得到单元格所在工作表名: =RIGHt(CELL("filename"),LEN(CELL("filename"))-FIND("]",CELL("filename"))) 2、计算一个工作薄中有多少个工作表 方法一: 点"工具"->"宏"->"VB编辑器"->"插入"->"模块",输入如下内容: Sub sheetcount() Dim num As Integer num = ThisWorkbook.Sheets.Count Sheets(1).Select Cells(1, 1) = num End Sub 运行该宏,在第一个(排在最左边的)工作表的A1单元格中的数字就是sheet的个数。 方法二: 按Ctrl+F3(或者点"插入"->"名称"->"定义"),打开"定义名称"对话框 定义一个X "引用位置"输入: =get.workbook(4) 点"确定"。 然后你在任意单元格输入=X 出来的结果就是sheet的个数。 3、在一个工作薄中快速整理出一个目录工作表即可在目录工作表上直接链接上其中一个: 1、用宏3.0取出各工作表的名称,方法: Ctrl+F3出现自定义名称对话框,取名为X,在“引用位置”框中输入: =MId(GET.WORKBOOK(1),FIND("]",GET.WORKBOOK(1))+1,100) 确定 2、用HYPERLINK函数批量插入连接,方法: 在目录工作表(一般为第一个sheet)的A2单元格输入公式: =HYPERLINK("#'"&INDEX(X,ROW())&"'!A1",INDEX(X,ROW())) 将公式向下填充,直到出错为止,目录就生成了。
代码发到那? /// <summary> /// 导出datagridview的数据到excel表中 /// </summary> /// <param name="m_dataview"></param> public static void datatoexcel(datagridview m_dataview) { savefiledialog kk = new savefiledialog(); kk.title = "保存execl文件"; kk.filter = "execl文件(*.xls) |*.xls|所有文件(*.*) |*.*"; kk.filterindex = 1; if (kk.showdialog() == dialogresult.ok) { string filename = kk.filename;// + ".slsx"; if (file.exists(filename)) file.delete(filename); filestream objfilestream; streamwriter objstreamwriter; string strline = ""; objfilestream = new filestream(filename, filemode.openorcreate, fileaccess.write); objstreamwriter = new streamwriter(objfilestream, system.text.encoding.unicode); for (int i = 0; i < m_dataview.columns.count; i++) { if (m_dataview.columns[i].visible == true) { strline = strline + m_dataview.columns[i].headertext.tostring() + convert.tochar(9); } } objstreamwriter.writeline(strline); strline = ""; for (int i = 0; i < m_dataview.rows.count; i++) { if (m_dataview.columns[0].visible == true) { if (m_dataview.rows[i].cells[0].value == null) strline = strline + " " + convert.tochar(9); else strline = strline + m_dataview.rows[i].cells[0].value.tostring() + convert.tochar(9); } for (int j = 1; j < m_dataview.columns.count; j++) { if (m_dataview.columns[j].visible == true) { if (m_dataview.rows[i].cells[j].value == null) strline = strline + " " + convert.tochar(9); else { string rowstr = ""; rowstr = m_dataview.rows[i].cells[j].value.tostring(); if (rowstr.indexof("\r\n") > 0) rowstr = rowstr.replace("\r\n", " "); if (rowstr.indexof("\t") > 0) rowstr = rowstr.replace("\t", " "); strline = strline + rowstr + convert.tochar(9); } } } objstreamwriter.writeline(strline); strline = ""; } objstreamwriter.close(); objfilestream.close(); } } 调用 main_bodyexcel.datatoexcel(gwsum);
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
揭阳 西湖还是东湖好玩?
西昌市大成西南大药房在什么地方啊,我要过去
?什么相什么成语
阿迪达斯有男生有白色三道杠套装运动服么?
吃熟牛肉会感染上疯牛病吗?
世界上什么跑车比布加迪威龙快?
请问天津教师资格证省考和统考的区别是什么呢
珀斯地址在哪,我要去那里办事
我想去学吉他和架子鼓,请问哪里比较专业!
我想你了是什么意思?
墙体广告怎么去除
115云盘是不是下架了
dnf春节红包嗨翻天怎么不能签到 dnf大神
平武县供销合作社联合社地址在什么地方,想过
朋友推荐一篇耽美文但忘记名字了,大概是受是
推荐资讯
电视剧白狼扮演是谁
天空与地球都是我们奇妙世界的宝藏。世界上存
有没律师,
【求助】请问kt是怎样的能量单位啊
三普手机开机密码忘了怎么办
4的负x次方等于64分之1x等于多少
开愿法师:念经需要持五戒吗
黑狱断肠歌之砌生猪肉高清完整版下载地址
英语翻译任何真正的艺术家必须面对传统与创新
林杏琴教学楼是以(  )先生的母亲名字命名
剑阁峥嵘人难还,一夫当关万莫开,连峰去天不盈
ime 日语输入法 怎样把默认设置为ひらがな啊?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?