这是我太平洋在线的太平洋在线下载xg111企业邮局回答,希望对你有帮助17500工具表手机版。
对于由File17500工具表手机版。Create(fileName)创建的Excel文件,虽然格式是Excel文件,但是并不是标准的Excel文件,用Ado。net对这种文件连接操作时,会提示“外部表不是预期的格式”错误。
这种文件用文本打开时和txt的格式是一样的17500工具表手机版。
对于提示“外部表不是预期的格式”错误的Excel文件的处理解决办法17500工具表手机版,用文件读取方式读入DataTable,再做处理
//读文件并存在内存表中
private DataTable ReadFile(string fileName, int columnNum)
DataTable dataRead = createDataTable(columnNum);
if (File17500工具表手机版。
Exists(fileName))
string strRead;//存储读取的文件数据
Encoding encoding = Encoding17500工具表手机版。
GetEncoding("GB18030");
try
FileStream fs = new FileStream(fileName, FileMode17500工具表手机版。
Open, FileAccess17500工具表手机版。Read, FileShare。ReadWrite);
StreamReader sr = new StreamReader(fs, encoding);
strRead = sr17500工具表手机版。
ReadToEnd();
sr17500工具表手机版。Close();
fs17500工具表手机版。Close();
//导入内存DataTable
string[] readArray = strRead17500工具表手机版。
Split(new char[] { '/n' }, StringSplitOptions17500工具表手机版。RemoveEmptyEntries);
foreach (string row in readArray)
string[] column = row17500工具表手机版。
Replace(" ", "")17500工具表手机版。Replace("/r","")。Split(new char[] { '/t' }, StringSplitOptions。RemoveEmptyEntries);
DataRow dr = dataRead17500工具表手机版。
NewRow();
for (int i = 0; i Rows17500工具表手机版。Add(dr);
catch (Exception ex)
Console17500工具表手机版。
Write(ex17500工具表手机版。ToString());
else
MessageBox17500工具表手机版。Show("缺少档案文件");
return dataRead;17500工具表手机版。