”工欲善其事,必先利其器。“—孔子《论语.录灵公》
首页 > 编程 > 如何使用OLEDB以其原始顺序检索Excel表格?

如何使用OLEDB以其原始顺序检索Excel表格?

发布于2025-02-26
浏览:574

How to Retrieve Excel Sheet Names in Their Original Order Using OLEDB?
使用OLEDB

从Excel工作簿中检索表格名称的任务通常在编程中遇到。但是,在使用OLEDB时,通过在电子表格中定义的顺序获得这些名称。

问题定义,可能会具有挑战性。 GetoLedbschematable()无法按照所需顺序提供表格。这阻碍了用户根据表名称或索引指定数据检索的能力,从而导致混乱。使用嵌套looping

的解决方案涉及通过床单顺序迭代的方法从表0到床单的数量减去1。这确保了床单的保存order.

Implementation Using OLEDB

If using the Office Interop classes is not feasible, a solution using OLEDB is available:

/// ///从Excel工作簿中检索Excel名称。 /// /// excel文件。 /// 字符串[] 私有字符串[] getExcelSheetNames(字符串Extelfile) { oledbconnection objconn = null; system.data.datatable dt = null; 尝试 { //连接字符串 字符串connstring =“ provider = microsoft.jet.oledb.4.0;” “ data source =“ excrelfile”;扩展属性= excel 8.0;“; //创建连接并打开与数据库的连接 objconn =新的OledBConnection(Connstring); objconn.open(); //获取包含模式GUID的数据表 dt = objconn.getoledbschematable(oledbschemaguid.tables,null); 如果(dt == null) 返回null; //初始化字符串[]以存储表名。 string [] excelSheets = new String [dt.Rows.Count]; int i = 0; //在字符串数组中添加表名称。 foreach(dt.Rows中的datarow Row) { excelSheets [i] = row [“ table_name”]。tostring(); 我 ; } 返回ExcelSheets; } 捕获(异常EX) { 返回null; } 最后 { //清理连接和数据表 如果(objconn!= null) { objconn.close(); objconn.dispose(); } 如果(dt!= null) { dt.dispose(); } } } 此代码连接到excel文件,检索包含表名称的数据表,并以这些名称出现在电子表格中的顺序填充字符串[]。

最新教程 更多>

免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。

Copyright© 2022 湘ICP备2022001581号-3