你打开导出的文件,用记事本打开看看,应该是一个jtml格式的文件。
如果要想修改再存为xls格式,而不是Html,提供以下两个解决思路:
1、采用xls文件模板的形式,存取都是原生xls,不传动出错,参考:
http://www.cnblogs.com/downmoon/archive/2009/01/16/1376702.html
2、完全采用原生的XLS读写组件,如myxls或NPOI
MyXls是用C#开源项目,可以应用于asp.net 或者
.net应用程序上。它根据微软公开的Excle文档格式文件(BIFF),以二进制格式直接生成excel文档,支持Excel versions
97 - 2007.
。这意味着可以不用在服务器上安装office就能够以excle格式输出数据库中存储的数据了。这对于许多项目来说都是很有用的。
目前MyXls已经实现了单元格(cell)的格式设置,包括文本颜色、文本大小、字体、单位格边框、底色、列宽、行高,合并单元格,多个sheet页等功能。
以上两种方式都不需要在服务器端安装Office组件。
自己手写个导入的功能吧
public DataSet ExceltoDataSet(String ExcelPath)
{
string strCon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + ExcelPath + ";Extended Properties='Excel 8.0;HDR=YES;IMEX=1'";
OleDbConnection oleCon = new OleDbConnection(strCon);
OleDbDataAdapter oleDA = new OleDbDataAdapter("select * from [Sheet1$]", oleCon);
DataSet ds = new DataSet();
oleDA.Fill(ds);
return ds;
}
利用这个方法可以导入
自己手动写导出,然后手动导入。csv 格式满足了。或者参看 Open Office XML
看看是不是格式有问题?自己新建一个XLS,看能不能导入进去,你导出来的方法是什么?如果是输出HTML为EXCEL,那是导不进去的。