gpt4 book ai didi

c# - Asp.Net (c#) - 读取 Excel 工作表

转载 作者:太空狗 更新时间:2023-10-30 01:11:27 27 4
gpt4 key购买 nike

我需要从 Excel 电子表格进行一些导入,并且一直在查看网络上的各种示例,它们似乎都使用与 64 位不兼容的“Jet”驱动程序。

现在我完全了解可用的解决方法(改变 IIS 的运行方式等),但是我想知道是否有“Jet”驱动程序的替代品,以便我可以从运行的 Asp.Net 读取和生成 excel 表没有 IIS 修改的 64 位服务器。

最佳答案

我上次研究时没有 x64 驱动程序。我用它来打开 xls 文件。只要您使用 x86 编译,它就可以在 64 位机器上运行。

 DataSet myDataset = new DataSet();
string strConn = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + filename + @";Extended Properties=""Excel 12.0 Xml;HDR=YES""";
OleDbConnection myData = new OleDbConnection(strConn);
try {
myData.Open();
}
catch (OleDbException e) {
try {
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + filename + ";" + "Extended Properties=Excel 8.0;HDR=YES;";
myData = new OleDbConnection(strConn);
myData.Open();
}
catch (Exception e2) {
strConn = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filename + @";Extended Properties=""HTML Import;HDR=YES;IMEX=1"";";
myData = new OleDbConnection(strConn);
myData.Open();
}
}

int i = 0;
foreach (DataRow row in myData.GetSchema("tables").Rows)
try {
i++;
string name = row[2].ToString().Replace("''", "'").TrimEnd('_');
DataSet ds = new DataSet();
OleDbDataAdapter d = new OleDbDataAdapter("SELECT * from [" + name + "]", strConn);
d.Fill(ds);
DataTable dt = ds.Tables[0].Copy();
dt.Namespace = name;
myDataset.Tables.Add(dt);
}
catch (Exception e) {
}
return myDataset;

关于c# - Asp.Net (c#) - 读取 Excel 工作表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2507502/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com