首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

C#將數據輸出為Excel問題解决办法

2012-07-16 
C#將數據輸出為Excel問題一般用Response.Write輸出一個DateSet的方式網上很多,但都不是我要的,现遇到的问

C#將數據輸出為Excel問題
一般用Response.Write輸出一個DateSet的方式網上很多,但都不是我要的,
现遇到的问题是:
1.我的数据字段中含电话号码,所以在匯入Excel后第一个0会被去掉,还有如时间格式是 00:00 二位的在輸入Excel中後會格式化成 00:00:00 
2.內容中含超长文本,文本含HMTL符,有些还有乱码符,HTML符处理应可以,但乱码符在汇入Excel後(以XML方式写入),由于乱码造成Excel打开失败。
不知有没有更好的方法可以解决上述问题,并成功输出Excel文件。

[解决办法]
读出来应该加格式控制:

C# code
     private static void DataSetExportToExcel(cel(){
[解决办法]
学习!!!!!!!!!!!!!!!!
[解决办法]
[size=12px][/size][size=12px][/size][size=12px][/size][size=12px][/size]
学习
[解决办法]
C# code
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Data.OleDb;using System.IO;namespace ConsoleApplication2{    class Program    {        static void Main(string[] args)        {            string path = "C:\\ExcelData1.xls";            if(File.Exists(path))            {                File.Delete(path);            }                        string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + path + ";localhos
[解决办法]
觉得一楼的用xml转化的方法挺好,虽然看起来比较麻烦,但效率是很高的.并且一楼写的也比较详细,楼主可以考虑下.关注中.
[解决办法]
探讨
觉得一楼的用xml转化的方法挺好,虽然看起来比较麻烦,但效率是很高的.并且一楼写的也比较详细,楼主可以考虑下.关注中.

[解决办法]
这是我程序里的导出EXCEL模块,不知道是不是楼长想要的。
// 把DataTable内容导出excel并返回客户端 
public static void DataTable2Excel(System.Data.DataTable dtData)
{
System.Web.UI.WebControls.DataGrid dgExport = null;
// 当前对话 
System.Web.HttpResponse resp = System.Web.HttpContext.Current.Response;
// 为了解决dgData中可能进行了分页的情况,需要重新定义一个无分页的DataGrid 
dgExport = new System.Web.UI.WebControls.DataGrid();
dgExport.DataSource = dtData.DefaultView;
dgExport.AllowPaging = false;
dgExport.DataBind();

// 返回客户端 
resp.Clear();
resp.Buffer = true;
//page.Response.Write("<meta http-equiv=Content-Type content=text/html>");
//page.Response.Write("<meta http-equiv=Content-Type content=text/html;charset=gb2312>");
//resp.ContentEncoding = System.Text.Encoding.GetEncoding("utf-7");//使用GB2312有时候会出现乱码
resp.ContentEncoding = System.Text.Encoding.UTF7;//使用GB2312有时候会出现乱码
resp.AppendHeader("content-disposition", "attachment;filename=\"" + HttpUtility.UrlEncode(DateTime.Now.ToString("yyyy-MM-dd"), System.Text.Encoding.UTF8) + ".xls\"");
//page.EnableViewState = false;

System.IO.StringWriter tw = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter hw = new System.Web.UI.HtmlTextWriter(tw);
dgExport.RenderControl(hw);
resp.Write(tw.ToString());

resp.End();
}



[解决办法]
先顶了再慢慢看。
[解决办法]
探讨
觉得一楼的用xml转化的方法挺好,虽然看起来比较麻烦,但效率是很高的.并且一楼写的也比较详细,楼主可以考虑下.关注中.

------解决方案--------------------


顶一下,收藏了。
[解决办法]

热点排行