C#导入Excel数据时出现“'Sheet1$'&…
2014-09-10 15:21
429 查看
下面是一段执行Excel数据导入的程序,在下面的程序段中连接串strConn没有问题,但使用过程中出现“'Sheet1$'
不是一个有效名称。请确认它不包含无效的字符或标点,且名称不太长。”的错误。这个错误是由于下面红色的一行代码引起的,Sheet1是Excel中默认的第一页的名称,但是如果你把你的Excel中的Sheet的名字改了,就不正确了。例如我的Excel中第一个页面名是“交费清单”,这时应把红色代码行改为:
OleDbDataAdapter ExcelDA
= new OleDbDataAdapter("select * from [交费清单$]",
OleDB);
/// <summary>
/// 执行导入
/// </summary>
/// <param
name="strFileName">文件名</param>
///
<returns>DataSet</returns>
public DataSet doImport(string strFileName)
{
if (strFileName == "")
return null;
else
{
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source = '" +
strFileName + "';Extended Properties ='Excel
8.0;HDR=NO;IMEX=1'"; //Excel数据库连接字符串
OleDbConnection OleDB = new OleDbConnection(strConn);//打开数据源连接
OleDbDataAdapter ExcelDA = new
OleDbDataAdapter("select * from [Sheet1$]",
OleDB);
DataSet ExcelDs = new DataSet();
try
{
ExcelDA.Fill(ExcelDs,"ExcelInfo");
//填充数据集
}
catch (Exception err)
{
System.Console.WriteLine(err.ToString());
}
return ExcelDs;
}
}
不是一个有效名称。请确认它不包含无效的字符或标点,且名称不太长。”的错误。这个错误是由于下面红色的一行代码引起的,Sheet1是Excel中默认的第一页的名称,但是如果你把你的Excel中的Sheet的名字改了,就不正确了。例如我的Excel中第一个页面名是“交费清单”,这时应把红色代码行改为:
OleDbDataAdapter ExcelDA
= new OleDbDataAdapter("select * from [交费清单$]",
OleDB);
/// <summary>
/// 执行导入
/// </summary>
/// <param
name="strFileName">文件名</param>
///
<returns>DataSet</returns>
public DataSet doImport(string strFileName)
{
if (strFileName == "")
return null;
else
{
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source = '" +
strFileName + "';Extended Properties ='Excel
8.0;HDR=NO;IMEX=1'"; //Excel数据库连接字符串
OleDbConnection OleDB = new OleDbConnection(strConn);//打开数据源连接
OleDbDataAdapter ExcelDA = new
OleDbDataAdapter("select * from [Sheet1$]",
OleDB);
DataSet ExcelDs = new DataSet();
try
{
ExcelDA.Fill(ExcelDs,"ExcelInfo");
//填充数据集
}
catch (Exception err)
{
System.Console.WriteLine(err.ToString());
}
return ExcelDs;
}
}
相关文章推荐
- C#操作Excel时出现错误:“&#039;Sh…
- C#将数据导入到excel中 出现 “object”未包含“get_Range”的定义
- C#将数据导入到excel中 出现 “object”未包含“get_Range”的定义
- ASP.NET(C#)Excel导入Dataset的出现数据值丢失问题
- C#导入excel数据表字符与数字同列出现的问题
- C#将数据导入到excel中 出现 “object”未包含“get_Range”的定义报错
- C#操作Excel数据导入(不安装EXCEL的情况)
- asp.net/c#代码实现excel to mssql数据导入
- C# 从Excel表中导入数据函数到DataSet
- 如何导入数据至Excel文件 C#.net
- Excel数据导入Sql Server出现Null
- 将Excel导入MSSQL2000时出现"对于所指定的缓冲区来讲太大"错误的解决方法?
- C#把表中的数据导入到Excel中
- 往Excel里导入数据的一种方法(dataset-->excel)
- DataGrid中的数据导入到Word和Excel_C#
- C#将数据从datagridView中导入到Excel
- c#将datagridview中的数据导入到Excel中(winForm)
- C# 从Excel表中导入数据函数到DataSet
- 将Excel导入MSSQL2000时出现"对于所指定的缓冲区来讲太大"错误的解决方法
- 如何处理Oledb中EXCEL驱动读取EXCEL文件中字段长度大于255字符时出现的"数据截断"问题.