c#读取过来的excel路径不对
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c#读取过来的excel路径不对相关的知识,希望对你有一定的参考价值。
代码是这样的,就是读取出来的路径一直是有个报错的C盘的路径,我把东西调到那里就执行成功了,其他路径下都不行
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=" + filename + ";" + ";Extended Properties=\"Excel 8.0;HDR=YES;IMEX=1\"";
else
connStr = "Provider=Microsoft.ACE.OLEDB.12.0;" + "Data Source=" + filename + ";" + ";Extended Properties=\"Excel 12.0;HDR=YES;IMEX=1\"";
string sql_F = "Select * FROM [Sheet1$]";
OleDbConnection conn = null;
OleDbDataAdapter da = null;
System.Data.DataTable dtSheetName = null;
System.Data.DataTable dt = new System.Data.DataTable();
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);
da.Fill(dt);
catch (Exception ex)
finally
// 关闭连接
if (conn.State == ConnectionState.Open)
conn.Close();
da.Dispose();
conn.Dispose();
return dt;
然后打开这个excel文件,就跟读取一个二维表一样容易。具体代码就不写了
百度一搜一大堆。 参考技术D 你用绝对路径或者知道fileupload试一下
C#里使用ExcelDataReader读取EXCEL文件的简单方法
C#里使用ExcelDataReader读取EXCEL文件的简单方法
读取EXCEL文件是比较常见的需求,所以在C#里也会经常遇到。
比如客户需要保存的条码数据,他们可以使用EXCEL来扫码进去,并且进行修改和核验,
然后软件就需要读取这些EXCEL文件,并且从这里得到所需要的条码。
要从EXCEL里读取数据,并不是简单打开文件读取就得到数据的,
因为EXCEL文件是一个复杂的格式,所以要读取这些文件的数据,需要比较复杂的代码。
如果要让我们重头去实现一轮,那是比较复杂的,也容易出错,所以需要利用别人已经实现的库。
比如下载下面这几个库:
这几个库,都需要小心地使用。
使用下面这段代码来打开文件夹:
private void button1_Click(object sender, EventArgs e)
//打开文件选择对话框。
using (OpenFileDialog openFileDialog = new OpenFileDialog() Filter = "Excel 97-2003 Workbook|*.xls|Excel Workbook|*.xlsx" )
if (openFileDialog.ShowDialog() == DialogResult.OK)
以上是关于c#读取过来的excel路径不对的主要内容,如果未能解决你的问题,请参考以下文章