下面是一段执行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());