从WEB页面中,把数据用CSV文件下载到本地,直接打开时,文件名被修改,如文件名为Zangyo,打开后被改为Zangyo[1].csv,并且Sheet页的名字为.csv]Zangyo(1),请教各位是什么原因,怎样修改?如果保存后再打开的话就没有问题.请帮帮忙!
代码如下:
Response.Buffer = True
Response.Expires = -1
Response.AddHeader("Cache-Control", "no-cache")
Response.ContentType = "application/vnd.ms-excel"
Response.AddHeader("Content-Disposition", "attachment; filename=" & csvName & ".csv")
Response.Charset = "Shift_JIS"
enc = System.Text.Encoding.GetEncoding("Shift-JIS") For intCnt As Integer = 0 To dtResult.Rows.Count - 1
dr = dtResult.Rows(intCnt)
For intcol As Integer = 0 To dtResult.Columns.Count - 1
strItem = dr(intcol)
If intcol = dtResult.Columns.Count - 1 Then
Response.BinaryWrite(enc.GetBytes("""'" & strItem & """"))
Else
Response.BinaryWrite(enc.GetBytes("""'" & strItem & ""","))
End If Next Response.BinaryWrite(enc.GetBytes(Chr(10)))
Next
Response.End()
代码如下:
Response.Buffer = True
Response.Expires = -1
Response.AddHeader("Cache-Control", "no-cache")
Response.ContentType = "application/vnd.ms-excel"
Response.AddHeader("Content-Disposition", "attachment; filename=" & csvName & ".csv")
Response.Charset = "Shift_JIS"
enc = System.Text.Encoding.GetEncoding("Shift-JIS") For intCnt As Integer = 0 To dtResult.Rows.Count - 1
dr = dtResult.Rows(intCnt)
For intcol As Integer = 0 To dtResult.Columns.Count - 1
strItem = dr(intcol)
If intcol = dtResult.Columns.Count - 1 Then
Response.BinaryWrite(enc.GetBytes("""'" & strItem & """"))
Else
Response.BinaryWrite(enc.GetBytes("""'" & strItem & ""","))
End If Next Response.BinaryWrite(enc.GetBytes(Chr(10)))
Next
Response.End()
page.Response.Buffer= true;
page.Response.Charset="gb2312";
page.Response.AppendHeader("Content-Disposition","attachment;filename="+this.DownloadFileName+"."+this.ExportFileType);
page.Response.ContentEncoding=System.Text.Encoding.GetEncoding("gb2312 page.Response.ContentType = "application/OCTET-STREAM;"; 没有出现你说的问题
我也试过,还是不行啊.
对呀,可是我如果点击打开后,打开的文件中的SHEET页的名字就自动变为.csv]Zangyo(1)了,而且这个名字是不符合EXCEL命名规约的
想不通啊.请指教!!!