ASP.NET(C#)将DATASET导出XLS文件【1】

这个是主程序,其中调用了下面的代码

 

ContractedBlock.gif ExpandedBlockStart.gif Code
            System.Web.HttpContext.Current.Response.Clear();
            System.Web.HttpContext.Current.Response.Buffer 
= true;
            System.Web.HttpContext.Current.Response.Charset 
= "GB2312";
            System.Web.HttpContext.Current.Response.AddHeader(
"Content-Disposition""attachment; filename=" + strFileName);
            System.Web.HttpContext.Current.Response.ContentEncoding 
= Encoding.GetEncoding("GB2312");
            System.Web.HttpContext.Current.Response.ContentType 
= "application/ms-excel";
            System.Web.HttpContext.Current.Response.Write(ExportTable(dsResults));
            System.Web.HttpContext.Current.Response.End();

 

下面是被调用的代码,将DATASET编写成为HTML格式。

 

ContractedBlock.gif ExpandedBlockStart.gif Code
ContractedBlock.gifExpandedBlockStart.gif        根据DS生成HTML字符串#region 根据DS生成HTML字符串
        
public static string ExportTable(DataSet ds)
ExpandedSubBlockStart.gifContractedSubBlock.gif        
{
            
string data = "";
            
string cellStyle = string.Empty;
            
foreach (DataTable tb in ds.Tables)
ExpandedSubBlockStart.gifContractedSubBlock.gif            
{
                
//data += tb.TableName + "\n";
                data += "<table cellspacing=\"0\" cellpadding=\"5\" rules=\"all\" border=\"1\">";
                
//写出列名
                data += "<tr style=\"font-weight: bold; white-space: nowrap;\">";
                
foreach (DataColumn column in tb.Columns)
ExpandedSubBlockStart.gifContractedSubBlock.gif                
{
                    data 
+= "<td style=\"background-color:Silver;\">" + column.ColumnName + "</td>";
                }

                data 
+= "</tr>";

                
//写出数据
                foreach (DataRow row in tb.Rows)
ExpandedSubBlockStart.gifContractedSubBlock.gif                
{
                    data 
+= "<tr>";
                    cellStyle 
= string.Empty;

                    
if ((row["Comment"!= null)&&(row["Comment"].ToString() != string.Empty))
ExpandedSubBlockStart.gifContractedSubBlock.gif                    
{
                        cellStyle 
= "background-color:Yellow;";
                    }

                    
                    
foreach (DataColumn column in tb.Columns)
ExpandedSubBlockStart.gifContractedSubBlock.gif                    
{
                        
//if (column.ColumnName.Equals("证件编号") || column.ColumnName.Equals("报名编号"))
                        
//    data += "<td style=\"vnd.ms-excel.numberformat:@\">" + row[column].ToString() + "</td>";
                        
//else 
                        
//    data += "<td>" + row[column].ToString() + "</td>";
                        data += "<td style=\"vnd.ms-excel.numberformat:@;" + cellStyle + "\">" + row[column].ToString() + "</td>";
                    }

                    data 
+= "</tr>";
                }

                data 
+= "</table>";
            }


            
return data;
        }

        
#endregion

 

下面是我从别的地方找到的。写的是每个单元的格式

1) 文本:vnd.ms-excel.numberformat:@

2) 日期:vnd.ms-excel.numberformat:yyyy/mm/dd

3) 数字:vnd.ms-excel.numberformat:#,##0.00

4) 货币:vnd.ms-excel.numberformat:¥#,##0.00

5) 百分比:vnd.ms-excel.numberformat: #0.00%

转载于:https://www.cnblogs.com/lx0831/archive/2009/02/20/1394892.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值