StringWriter sw = new StringWriter();
HtmlTextWriter htw = new HtmlTextWriter(sw);
this.searchlistGrid.RenderControl(htw);
string strHtml = sw.ToString().Trim(); string ExcelFileName = "导出的.xls";
string FilePhysicialPathName = Request.PhysicalApplicationPath; //生成的Excel文件名
string objectExcelFileName = Path.Combine(FilePhysicialPathName, ExcelFileName); if (File.Exists(objectExcelFileName))
{
File.Delete(objectExcelFileName);
}
FileStream fs = new FileStream(objectExcelFileName, FileMode.Create);
BinaryWriter bw = new BinaryWriter(fs, Encoding.GetEncoding("GB18030"));
bw.Write(strHtml);
bw.Close();
fs.Close();
我导出的时候成功的导出到了Excle中,但是却在根目录。
问题是客户端该怎么办!!!。
如何直接导出到根目录。如果有源码下载更好。谢谢
问题是客户端该怎么办!!!。
如何直接导出到根目录。如果有源码下载更好。谢谢??
//mapPath就是该文件夹下刚导出的Excel文件的路径,包括文件名
System.IO.FileInfo file = new System.IO.FileInfo(mapPath);
Response.Clear();
Response.Charset = "GB2312";
Response.ContentEncoding = System.Text.Encoding.UTF8;
Response.AddHeader("Content-Disposition", "attachment; filename=" + Server.UrlEncode(file.Name));
Response.AddHeader("Content-Length", file.Length.ToString());
Response.ContentType = "application/ms-excel";
Response.WriteFile(file.FullName);
Response.Flush();
file.Delete();
Response.End();
的方式下载到你想放到的本地的路径下,然后file.Delete(),就自动把刚才所暂时存放在服务器的文件删掉
web 的
HttpContext.Current.Response.Clear();
HttpContext.Current.Response.BufferOutput = true;
HttpContext.Current.Response.Charset = "GB2312";
HttpContext.Current.Response.AppendHeader("Content-Disposition", "attachment;filename ="+name+".xls");
HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
HttpContext.Current.Response.ContentType = "application/ms-excel";
object[] values = new object[table.Columns.Count];
for (int i = 0; i < table.Columns.Count; ++i)
{
HttpContext.Current.Response.Write(table.Columns[i].Caption.ToString());
HttpContext.Current.Response.Write('\t');
}
HttpContext.Current.Response.Write("\n");
for (int i = 0; i < table.Rows.Count; i++)
{
for (int j = 0; j < values.Length; ++j)
{
if (table.Columns[j].ColumnName == "批号" || table.Columns[j].ColumnName.Contains("编号") || table.Columns[j].ColumnName.Contains("编码") || table.Columns[j].ColumnName.Contains("单号"))
{
HttpContext.Current.Response.Write(table.Rows[i][j].ToString().Replace("\r\n", "").Replace("\t", "") + ((char)127).ToString());
}
else
{
HttpContext.Current.Response.Write(table.Rows[i][j].ToString().Replace("\r\n", "").Replace("\t", ""));
} HttpContext.Current.Response.Write('\t');
}
HttpContext.Current.Response.Write("\r\n");
}
HttpContext.Current.Response.End();