记得以前直接把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




























