C#或.net中用NPIO要怎样才能导出2007以上的Excel(.xlsx)?

我用来导出xls就可以,不过xls最多只有6万多行,不能满足我的要求。求高手指导啊

第1个回答  2015-10-30
public static void DownData(DataView dvData, string fileName)
{
StringBuilder strBd = new StringBuilder(EXCELHTMLHEAD + "<table x:str><tr>");
int cols = dvData.Table.Columns.Count;
for (int j = 0; j < cols; j++)
strBd.Append("<td>" + dvData.Table.Columns[j].Caption + "</td>");
strBd.Append("</tr>");

for (int i = 0; i < dvData.Count; i++)
{
strBd.Append("<tr>");
for (int j = 0; j < cols; j++)
strBd.Append("<td>" + Lixiang.Common.HtmlToTxt(Convert.ToString(dvData[i][j])) + "</td>");
strBd.Append("</tr>");
}
strBd.Append("</table></body></html>");

DownData(strBd.ToString(), fileName);
}

public const string EXCELHTMLHEAD = @"<html xmlns:o='urn:schemas-microsoft-com:office:office'
xmlns:x='urn:schemas-microsoft-com:office:excel' xmlns='http://www.w3.org/TR/REC-html40'>
<head><!--[if gte mso 9]><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet>
<x:Name>ExportData</x:Name><x:WorksheetOptions><x:Selected/></x:WorksheetOptions>
</x:ExcelWorksheet></x:ExcelWorksheets></x:ExcelWorkbook></xml><![endif]-->
</head><body>";
第2个回答  2015-02-03
好像NPOI不支持导出2007及更高版本的格式
可以考虑用EPPLUS

参考下面的博客:
http://blog.csdn.net/accountwcx/article/details/8144970本回答被提问者采纳
相似回答