asp.net导出Excel打开的时候提示格式与文件扩展名指定的格式不一致

依旧入故sun 2016-05-01 09:14:48

求大神解答!!!!!!!!
public void CreateExcel(DataTable dt, string FileName)
{
dt.Columns[0].ColumnName = "序号";
dt.Columns[1].ColumnName = "姓名";
dt.Columns[2].ColumnName = "学号";
dt.Columns[3].ColumnName = "身份证号码";
dt.Columns[4].ColumnName = "专业";
dt.Columns[5].ColumnName = "学院";
dt.Columns[6].ColumnName = "生源地";
dt.Columns[7].ColumnName = "报到证派遣单位";
dt.Columns[8].ColumnName = "实际用人单位";
dt.Columns[9].ColumnName = "单位传真";
dt.Columns[10].ColumnName = "邮政编码";
dt.Columns[11].ColumnName = "备注";
dt.Columns[12].ColumnName = "是否本研";
dt.Columns[13].ColumnName = "是否国防生,天业定向";


HttpResponse resp;
resp = Page.Response;
resp.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
resp.AppendHeader("Content-Disposition", "attachment;filename=" + FileName);
string colHeaders = "", ls_item = "";

//定义表对象与行对象,同时用DataSet对其值进行初始化
//DataTable dt = ds.Tables[0];
DataRow[] myRow = dt.Select();//可以类似dt.Select("id>10")之形式达到数据筛选目的
int i = 0;
int cl = dt.Columns.Count;

// 取得数据表各列标题,各标题之间以/t分割,最后一个列标题后加回车符
for (i = 0; i < cl; i++)
{
if (i == (cl - 1))//最后一列,加/n
{
colHeaders += dt.Columns[i].Caption.ToString() + "\r\n";
}
else
{
colHeaders += dt.Columns[i].Caption.ToString() + "\t";
}

}
resp.Write(colHeaders);
// 向HTTP输出流中写入取得的数据信息

// 逐行处理数据
foreach (DataRow row in myRow)
{
//当前行数据写入HTTP输出流,并且置空ls_item以便下行数据
for (i = 0; i < cl; i++)
{
if (i == (cl - 1))//最后一列,加/n
{
ls_item += row[i].ToString() + "\r\n";
}
else
{
ls_item += row[i].ToString() + "\t";
}

}
resp.Write(ls_item);
ls_item = "";

}
resp.End();
}
...全文
474 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
依旧入故sun 2016-05-03
  • 打赏
  • 举报
回复
引用 3 楼 Learning_Hard的回复:
Excel格式导出可以采用NOPI。参考:http://zzk.cnblogs.com/s?t=b&w=asp.net%20%E5%AF%BC%E5%87%BAExcel
用NOPI做好啦,谢谢
依旧入故sun 2016-05-02
  • 打赏
  • 举报
回复
引用 1 楼 apollokk的回复:
你这输出的只是html表格,excel可以打开,但不是真正的excel格式文件,所以会有提示。 要生成真正的excel文件可以考虑用NPOI一类的库
好的谢谢,我看下=_=
Hello World, 2016-05-02
  • 打赏
  • 举报
回复
你这输出的只是html表格,excel可以打开,但不是真正的excel格式文件,所以会有提示。 要生成真正的excel文件可以考虑用NPOI一类的库
人生导师 2016-05-02
  • 打赏
  • 举报
回复
Excel格式导出可以采用NOPI。参考:http://zzk.cnblogs.com/s?t=b&w=asp.net%20%E5%AF%BC%E5%87%BAExcel

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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