从OleDbConnection读取Excel文件数据
我目前面临一个问题,我不知道如何解决这个问题。
我将我的预编译项目上传到IIS。 这是我的这个页面的目的:
- 用户将一个excelfile upload到服务器的一个文件夹中。 ex
@"~/PlanQuantityFile/"
。 它确实上传成功。
面临的问题:
-
当我的脚本试图打开Excel文件(用于提取数据目的)而不显示任何错误时停止。 在881行,如图所示。
-
这里是我寻找的一些领域,但仍然无法解决我的问题。
解决方法:
-
连接打开,但从来没有closures,所以用尽连接。 (但是我closures了它,脚本在close语句之前停止运行)
-
32位程序调用64位办公室。 (我在硬件领域的知识有限,不知道该怎么做才能在这里排除故障)
-
许可问题。 需要设置ASP.NET帐户的权限。 (我仍然在为ASP.NET帐户find对象名称)
感谢任何想要帮助的人。 你的build议是非常宝贵的。
OleDbConnection oledbConn = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + SaveLocation + ";Extended Properties='Excel 12.0;HDR=YES;IMEX=1;';"); OleDbConnection connExcel = oledbConn; OleDbCommand cmdExcel = new OleDbCommand(); OleDbDataAdapter oda = new OleDbDataAdapter(); DataTable dt = new DataTable(); cmdExcel.Connection = connExcel; //Get the name of Sheet try { connExcel.Open();// It stops here without showing errors. } catch (Exception ex) { ClientScript.RegisterStartupScript(this.GetType(), "myalert", "alert('" + ex.Message + "');", true); }
以下代码为选定的文件位置源返回一个数据表。 请记住将图纸名称重命名为“Sheet1”。
使用命名空间:using System.Data.OleDb;
function::::
public DataTable GetExcelinDatatable(string filelocation) { DataTable dt = new DataTable(); string connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + filelocation + ";Extended Properties=\"Excel 8.0;HDR=YES;\""; OleDbConnection con = new System.Data.OleDb.OleDbConnection(connectionString); con.Open(); OleDbDataAdapter da = new System.Data.OleDb.OleDbDataAdapter("select * from [SHEET1$]", con); da.Fill(dt); con.Close(); return dt; }
您可以使用提到的function来读取您必须传递Excel文件path的Excel文件
private List<DataTable> readExcel(string strXLS) { //DataTable dtExcel = getExcelSheetTable(); List<DataTable> SheetsData = new List<DataTable>(); DataTable dtExcel = new DataTable(); DataTable SocialMediaExcel = new DataTable(); string connStr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + strXLS + ";Extended Properties=Excel 12.0;"; try { OleDbDataAdapter adpt = new OleDbDataAdapter("SELECT * FROM [Sheet1$]", connStr); adpt.Fill(dtExcel); SheetsData.Add(dtExcel); } catch (Exception ex) { throw ex; } return SheetsData; }
- Excel自动化工作簿。打开失败:“无法获得打开的属性…”
- csv是否可以使用多个标签页?
- 如何在asp.net中使用C#将使用jQuery flotdynamic生成的图表导出到Excel中?
- 如何使用c#在asp.net中创build一个excel文件时指定path和文件名?
- 如何从Excel文件中读取一系列单元格(egA1:G30)到GridView
- 从Excel导入date单元格到ASP SQL DB时包含时间
- 在C#中使用embedded的Word文档读取Excel文件
- discrimanant taskkill.exe for excel.exe
- 将PrintArea设置为“使用EPPlus打印整个工作簿”