!!!读取Excel文件问题!!!

code-fans 2013-05-12 10:41:23
遇到一个比较奇怪的问题,就是在服务器上直接测试读取正常,但是远程客户端访问时,却抛出异常,显示返回的DataSet为空,几经调整,确未发现代码存在问题,所以上来咨询各位,是否遇到过类似问题,或者给个解决建议,谢谢,顺便也贴代码出来
读取代码如下:

public static DataSet ToDataTable(string filePath)
{
string connStr = "";
string fileType = System.IO.Path.GetExtension(fileName);
if (string.IsNullOrEmpty(fileType)) return null;

if (fileType == ".xls")
connStr = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + filePath+ ";" + ";Extended Properties=\"Excel 8.0;HDR=YES;IMEX=1\"";
else
connStr = "Provider=Microsoft.ACE.OLEDB.12.0;" + "Data Source=" + filePath+ ";" + ";Extended Properties=\"Excel 12.0;HDR=YES;IMEX=1\"";
string sql_F = "Select * FROM [{0}]";

OleDbConnection conn = null;
OleDbDataAdapter da = null;
DataTable dtSheetName= null;

DataSet ds = new DataSet();
try
{
// 初始化连接,并打开
conn = new OleDbConnection(connStr);
conn.Open();

// 获取数据源的表定义元数据
string SheetName = "";
dtSheetName= conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "TABLE" });

// 初始化适配器
da = new OleDbDataAdapter();
for (int i = 0; i < dtSheetName.Rows.Count; i++)
{
SheetName = (string)dtSheetName.Rows[i]["TABLE_NAME"];

if (SheetName .Contains("$") && !SheetName .Replace("'", "").EndsWith("$"))
{
continue;
}

da.SelectCommand = new OleDbCommand(String.Format(sql_F, SheetName ), conn);
DataSet dsItem = new DataSet();
da.Fill(dsItem, tblName);

ds.Tables.Add(dsItem.Tables[0].Copy());
}
}
catch (Exception ex)
{
}
finally
{
// 关闭连接
if (conn.State == ConnectionState.Open)
{
conn.Close();
da.Dispose();
conn.Dispose();
}
}
return ds;
}

遇到一个比较奇怪的
...全文
534 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
code-fans 2013-05-13
  • 打赏
  • 举报
回复
找到解决方案 http://bbs.csdn.net/topics/390221016?page=1#post-394464344
ar309054992 2013-05-13
  • 打赏
  • 举报
回复
感谢楼主学习了
code-fans 2013-05-12
  • 打赏
  • 举报
回复
是否与文件的访问权限相关?
code-fans 2013-05-12
  • 打赏
  • 举报
回复
版主,请教一下

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧