在c#中将dataset输出成xml内容的xls文件,解决其它输出不能在excel中显示“001”的前导0的问题

本文介绍如何在C#中利用DataSet将数据转换成XML格式,并创建一个能在Excel中正确显示前导0的XLS文件。常见方法可能无法保持数字的前导0,但通过特定方式可以解决这个问题。
摘要由CSDN通过智能技术生成
记得以前直接把gridview导出称excel,虽然很简单,但是却不能控制具体细节,尤其是字符串的“00001”到了excel中必定变为整数1,一直没找到解决办法,直到在codeproject上找到这个函数,它直接把数据写称excel可以读取的xml文档,仅仅把扩展名改为xls,但是效果却很好。

 

 

public   static   void  DataSetExportToExcel(DataSet source,  string  fileName)
    
{

        System.IO.StreamWriter excelDoc;

        excelDoc 
= new System.IO.StreamWriter(fileName);
        
const string startExcelXML = "<xml version> <Workbook " +
              
"xmlns="urn:schemas-microsoft-com:office:spreadsheet" " +
              
" xmlns:o="urn:schemas-microsoft-com:office:office"  " +
              
"xmlns:x="urn:schemas-    microsoft-com:office:" +
              
"excel"  xmlns:ss="urn:schemas-microsoft-com:" +
              
"office:spreadsheet">  <Styles>  " +
              
"<Style ss:ID="Default" ss:Name="Normal">  " +
              
"<Alignment ss:Vertical="Bottom"/>  <Borders/>" +
              
"  <Font/>  <Interior/>  <NumberFormat/>" +
              
"  <Protection/>  </Style>  " +
              
"<Style ss:ID="BoldColumn">  <Font " +
              
"x:Family="Swiss" ss:Bold="1"/>  </Style>  " +
              
"<Style     ss:ID="StringLiteral">  <NumberFormat" +
              
" ss:Format="@"/>  </Style>  <Style " +
              
"ss:ID="Decimal">  <NumberFormat " +
              
"ss:Format="0.0000"/>  </Style>  " +
              
"<Style ss:ID="Integer">  <NumberFormat " +
              
"ss:Format="0"/>  </Style>  <Style " +
              
"ss:ID="DateLiteral">  <NumberFormat " +
              
"ss:Format="mm/dd/yyyy;@"/>  </Style>  " +
              
"</Styles>  ";
        
const string 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值