C#循环导入EXCEL文件到tml链表里,并将其中一个输出到datagridview时提示,错误为外部表不是预期的格式?
C#循环导入EXCEL文件到tml链表里,并将其中一个输出到datagridview时提示,错误为外部表不是预期的格式?错误如下:导入文件出错,外部表不是预期的格式,这是...
C#循环导入EXCEL文件到tml链表里,并将其中一个输出到datagridview时提示,错误为外部表不是预期的格式?
错误如下:
导入文件出错,外部表不是预期的格式,这是什么意思?
我的程序代码如下:
OpenFileDialog open=new OpenFileDialog();
List<DataTable> tm = new List<DataTable>();//存放EXCEL数据
string filename = "";//表示每个EXCEl文件的文件路径;
string path = "";//表示用于存放EXCEL文件夹的文件名路径;
try
{
open.Filter = "Excel 文件|*.xls";//即打开文件的筛选器;
open.Title = "打开EXCEl文件";
if (open.ShowDialog() == DialogResult.OK)
{
filename = open.FileName;//EXCEl文件完整路径;
path = filename.Substring(0, filename.LastIndexOf('\\'));
}
}
catch (Exception ex)
{
MessageBox.Show("打开文件时出错!" + ex.Message.ToString());
}
try
{
DirectoryInfo dir = new DirectoryInfo(@path);
FileInfo[] film = dir.GetFiles();
foreach(FileInfo info in film)
{
filename = info.FullName;
if (filename != "")
{
DataSet ds = ExcelToDS(filename);
tm.Add(ds.Tables[0]);
}
}
this.dgvstudent.DataSource = tm[0];
tsbsave.Enabled = true;
}
catch (Exception ex)
{
MessageBox.Show("导入文件出错!" + ex.Message.ToString());
}
}
public DataSet ExcelToDS(string path)
{
string strconn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + path + ";Extended Properties=Excel 8.0";
OleDbConnection conn1 = new OleDbConnection(strconn);
string strExcel = "";
OleDbDataAdapter da1 = null;
DataSet ds = null;
strExcel = "select sno,sname,ssex,sssx,sage,smtel from [sheet1$]";
da1 = new OleDbDataAdapter(strExcel,strconn);
ds = new DataSet();
if (conn1.State == ConnectionState.Closed)
{
conn1.Open();
}
da1.Fill(ds);
conn1.Close();
return ds;
} 展开
错误如下:
导入文件出错,外部表不是预期的格式,这是什么意思?
我的程序代码如下:
OpenFileDialog open=new OpenFileDialog();
List<DataTable> tm = new List<DataTable>();//存放EXCEL数据
string filename = "";//表示每个EXCEl文件的文件路径;
string path = "";//表示用于存放EXCEL文件夹的文件名路径;
try
{
open.Filter = "Excel 文件|*.xls";//即打开文件的筛选器;
open.Title = "打开EXCEl文件";
if (open.ShowDialog() == DialogResult.OK)
{
filename = open.FileName;//EXCEl文件完整路径;
path = filename.Substring(0, filename.LastIndexOf('\\'));
}
}
catch (Exception ex)
{
MessageBox.Show("打开文件时出错!" + ex.Message.ToString());
}
try
{
DirectoryInfo dir = new DirectoryInfo(@path);
FileInfo[] film = dir.GetFiles();
foreach(FileInfo info in film)
{
filename = info.FullName;
if (filename != "")
{
DataSet ds = ExcelToDS(filename);
tm.Add(ds.Tables[0]);
}
}
this.dgvstudent.DataSource = tm[0];
tsbsave.Enabled = true;
}
catch (Exception ex)
{
MessageBox.Show("导入文件出错!" + ex.Message.ToString());
}
}
public DataSet ExcelToDS(string path)
{
string strconn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + path + ";Extended Properties=Excel 8.0";
OleDbConnection conn1 = new OleDbConnection(strconn);
string strExcel = "";
OleDbDataAdapter da1 = null;
DataSet ds = null;
strExcel = "select sno,sname,ssex,sssx,sage,smtel from [sheet1$]";
da1 = new OleDbDataAdapter(strExcel,strconn);
ds = new DataSet();
if (conn1.State == ConnectionState.Closed)
{
conn1.Open();
}
da1.Fill(ds);
conn1.Close();
return ds;
} 展开
1个回答
展开全部
DirectoryInfo dir = new DirectoryInfo(@path);
FileInfo[] film = dir.GetFiles();
foreach (FileInfo info in film)
{
filename = info.FullName;
if (filename != "")
{
DataSet ds = ExcelToDS(filename);//导入文件
tm.Add(ds.Tables[0]);
}
}
是不是因为导入了其他文件格式的excel文件或者其他类型文件?
这段代码是导入 选定文件所在目录下的 所有文件。
FileInfo[] film = dir.GetFiles();
foreach (FileInfo info in film)
{
filename = info.FullName;
if (filename != "")
{
DataSet ds = ExcelToDS(filename);//导入文件
tm.Add(ds.Tables[0]);
}
}
是不是因为导入了其他文件格式的excel文件或者其他类型文件?
这段代码是导入 选定文件所在目录下的 所有文件。
追问
恭喜,你很幸运。!!
来自:求助得到的回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询