【发布时间】:2015-02-26 15:09:41
【问题描述】:
我想导出 Excel。我可以使用以下代码将其导出,但我想在 excel 上查看土耳其字符或将土耳其字符更改为英文字符。
我正在尝试执行 2 for 循环,但这并不成功。帮我换个字。
for (int i = 0; i < GridView1.Columns.Count; i++)
{
for (int j = 0; j < GridView1.Rows.Count; j++)
{
GridView1.Rows[j].Cells[i].Text.Replace("ş", "s");
GridView1.Rows[j].Cells[i].Text.Replace("ı", "i");
GridView1.Rows[j].Cells[i].Text.Replace("İ", "ı");
GridView1.Rows[j].Cells[i].Text.Replace("ğ", "g");
}
}
Response.ClearContent();
Response.Buffer = true;
Response.AddHeader("content-disposition",
string.Format("attachment; filename={0}", "Görüşmeler.xls"));
Response.ContentType = "application/ms-excel";
StringWriter sw = new StringWriter();
HtmlTextWriter htw = new HtmlTextWriter(sw);
//Change the Header Row back to white color
GridView1.HeaderRow.Style.Add("background-color", "#FFFFFF");
//Applying stlye to gridview header cells
for (int i = 0; i < GridView1.HeaderRow.Cells.Count; i++)
{
GridView1.HeaderRow.Cells[i].Style.Add("background-color", "#CCCCFF");
}
GridView1.RenderControl(htw);
Response.Write(sw.ToString());
Response.End();
【问题讨论】:
-
我不明白渲染 HTML 网格如何生成 有效 XLS 文件。
-
我可以使用此代码创建 xls 文件,但我想在执行此操作之前进行字符串替换。
-
如果您使用文本编辑器查看生成的 XLS 文件,我强烈怀疑它是否是 XLS 文件。
-
@UweKeim 这是一个 html 表,excel 知道如何读取 html 表。这个“特征”是万恶之源
-
@newusereser 帮自己一个忙,使用适当的 excel 库,IMO 最好的是 NPOI (xls) 和 Epplus (xslx),它们都是免费和开源的,而且工作得很好。想想你的 http 响应,它看起来是恶意的,你在标题中说你正在返回 XLS 文件,实际上你正在返回 html。某些防病毒软件或类似软件何时会阻止您的响应只是时间问题
标签: c# asp.net excel gridview replace