asp.net 导出EXCEL问题

x19890213 2011-08-25 01:33:33
我做了一个数据导出EXCEL 但是导出以后,总提示 CSS/main.css 出错,,
在 html 页面的 CSS
<link href="../css/main.css" rel="stylesheet" type="text/css" /> 这样写的

后台的导出EXCEL,没调用这个。

样式是 sbContent.Append("<td style='text-align:left;vnd.ms-excel.numberformat: @'>" + ds.Rows[i][j].ToString() + "</td>");这样写的,, ,这个问题怎么解决啊。。
...全文
153 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
x19890213 2011-08-25
  • 打赏
  • 举报
回复
style='text-align:left;vnd.ms-excel.numberformat: @' 加了这个就不能用了,路径是对的,,文件也有,但是就是出错了,同事电脑上都是好的,就自己不能,。
happytonice 2011-08-25
  • 打赏
  • 举报
回复
考你的链接<link href="../css/main.css" rel="stylesheet" type="text/css" />到文件中,替换成自己的试了试,未发现异常,是不是引入路径错误,从引入一次看看。
子夜__ 2011-08-25
  • 打赏
  • 举报
回复
会不会是特殊字符。
x19890213 2011-08-25
  • 打赏
  • 举报
回复
我的 <link href="../css/main.css" rel="stylesheet" type="text/css" /> 这个css 是用来控制HTML的样式,按钮样式等等的,没有控制 导出EXCEL 啊
ajaxtop 2011-08-25
  • 打赏
  • 举报
回复
[Quote=引用楼主 x19890213 的回复:]
我做了一个数据导出EXCEL 但是导出以后,总提示 CSS/main.css 出错,,
在 html 页面的 CSS
<link href="../css/main.css" rel="stylesheet" type="text/css" /> 这样写的

后台的导出EXCEL,没调用这个。

样式是 sbContent.Append("<td style='text-align:……
[/Quote]

你这个问题就是少了一个css样式文件,这个肯定是另一个文件,在页面中做了引用

和你后台的那个样式没有关系,那个是用来控制excel中样式的


如果想换一种思路请看
  • 打赏
  • 举报
回复
直接调用就行了 ds:数据集 typeid:导出格式 filename:导出文件名


public void CreateExcel(DataSet ds, string typeid, string FileName)
{
//resp = Page.Response;
HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
HttpContext.Current.Response.AppendHeader("Content-Disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode(FileName, System.Text.Encoding.UTF8) + ".xls");
HttpContext.Current.Response.ContentType = "application/ms-excel";
string colHeaders = "", ls_item = "";
int i = 0;

//定义表对象与行对像,同时用DataSet对其值进行初始化
System.Data.DataTable dt = ds.Tables[0];
DataRow[] myRow = dt.Select("");
// typeid=="1"时导出为EXCEL格式文件;typeid=="2"时导出为XML格式文件
if (typeid == "1")
{
//取得数据表各列标题,各标题之间以\t分割,最后一个列标题后加回车符
for (i = 0; i < dt.Columns.Count - 1; i++)
colHeaders += dt.Columns[i].Caption.ToString() + "\t";
colHeaders += dt.Columns[i].Caption.ToString() + "\n";
//向HTTP输出流中写入取得的数据信息
HttpContext.Current.Response.Write(colHeaders);
//逐行处理数据
foreach (DataRow row in myRow)
{
//在当前行中,逐列获得数据,数据之间以\t分割,结束时加回车符\n
for (i = 0; i < dt.Columns.Count - 1; i++)
ls_item += row[i].ToString() + "\t";
ls_item += row[i].ToString() + "\n";
//当前行数据写入HTTP输出流,并且置空ls_item以便下行数据
HttpContext.Current.Response.Write(ls_item);
ls_item = "";
}
}
else
{
if (typeid == "2")
{
//从DataSet中直接导出XML数据并且写到HTTP输出流中
HttpContext.Current.Response.Write(ds.GetXml());
}
}
//写缓冲区中的数据到HTTP头文件中
HttpContext.Current.Response.End();
}

62,073

社区成员

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

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

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

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