怎么读取一个text格式的excel文件

yangjinCK 2010-07-15 03:56:01

我的excel文件为text类型,用右键记事本打开为text类型,可以看到完整数据,所有这种文件用OleDbConnection对象打不开,所有导入不了数据库,导入会抛出,文件不是预期类型错误
一个标准的excel文件用右键打开应该是乱码的
我知道一种方式就是另存为这个文件,将其转换为标准excel文件
但是软件给用户不可能每次都叫用户转换一次吧,那还不得给骂死
我现在想不用手动转换就能导入
我知道一个方式可以链接,就是用文件流
但是这个流读取出来的数据是所有数据的字符串
要怎么将其每行每列填充给dataset不知道怎么处理

有知道这个问题怎么处理的给细心说说
万分感谢
...全文
430 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
顶上、
AlpineShenqi 2010-07-16
  • 打赏
  • 举报
回复
应该是CSV文件,你就以文本文件的方式读好了啊!
sr = new StreamReader(TXTPath, System.Text.Encoding.GetEncoding("GB2312"));
if (sr.EndOfStream)
{
return;
}
while (!sr.EndOfStream)
{
//将上传文件数据插入到零时表中
pLineContent = sr.ReadLine();

pLineContent.Substring的方法去分出来每个字段应该就可以了!
如果是CSV文件的话,直接以“,”分割好了,SPILIT 就可以了!
fourstep 2010-07-16
  • 打赏
  • 举报
回复
关注,
yangjinCK 2010-07-16
  • 打赏
  • 举报
回复
千斤顶
yangjinCK 2010-07-16
  • 打赏
  • 举报
回复
难道没人知道怎么解决这个问题吗
yangjinCK 2010-07-16
  • 打赏
  • 举报
回复
我再顶
zamtion 2010-07-16
  • 打赏
  • 举报
回复
我遇到过一次xml格式的.xls文件导入问题,这样转换的,请高手指教

private string XmlChangeXls(string filename)
{
object missing = System.Reflection.Missing.Value;
Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application();
excel.Visible = false;
Microsoft.Office.Interop.Excel.Workbooks oBooks = excel.Workbooks;
oBooks.Open(filename, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing);
Microsoft.Office.Interop.Excel.Workbook oBook = excel.ActiveWorkbook;
string newfilename = filename.Substring(0, filename.LastIndexOf('.')) + "-B.xls";
oBook.SaveAs(newfilename, XlFileFormat.xlExcel9795, missing, missing, missing, missing, XlSaveAsAccessMode.xlNoChange, missing, missing, missing, missing, missing);

excel.DisplayAlerts = false;
oBook.Close(false, missing, false);
System.Runtime.InteropServices.Marshal.ReleaseComObject(oBook);
oBook = null;

System.Runtime.InteropServices.Marshal.ReleaseComObject(oBooks);
oBooks = null;

excel.Quit();
System.Runtime.InteropServices.Marshal.ReleaseComObject(excel);
excel = null;
System.GC.Collect();
return newfilename;
}
tongji2008 2010-07-16
  • 打赏
  • 举报
回复
友情帮顶
同意7楼的见解
yangjinCK 2010-07-16
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 alpineshenqi 的回复:]
应该是CSV文件,你就以文本文件的方式读好了啊!
sr = new StreamReader(TXTPath, System.Text.Encoding.GetEncoding("GB2312"));
if (sr.EndOfStream)
{
return;
}
while (!sr.EndOfStream)
{
//将上传文件数据插入到零时表中
……
[/Quote]

如果表中有很多调记录
不确定行的时候怎么分析数据啊
列可以确定
也可以不确定
yangjinCK 2010-07-15
  • 打赏
  • 举报
回复
我不知道它是什么格式
总之后缀也是.xls
看上去就是一个excel文件
如果是csv格式怎么转
King0113 2010-07-15
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 yuanhuiqiao 的回复:]
CSV文件?
[/Quote]
+1
excel有个通用格式就是csv
yuanhuiqiao 2010-07-15
  • 打赏
  • 举报
回复
CSV文件?

110,535

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧