这个功能直观来讲,就是表格导出(至excel)功能。此功能主要涉及到的技术有.NET第三方库NPOI,C#的MemoryStream,DataTable操作与使用以及.net mvc的FileResult。
一, .NET第三方库NPOI
NPOI库有七个,分別是:
NPOI.DLL:NPOI
NPOI.DDF.DLL:NPOI
NPOI.HPSF.DLL:NPOI
NPOI.HSSF.DLL:NPOI Excel BIFF
NPOI.Util.DLL:NPOI
NPOI.POIFS.DLL:NPOI OLE
ICSharpCode.SharpZipLib.DLL
二,和FileStream一样,MemoryStream和BufferedStream都派生自基类Stream,因此它们有很多共同的属性和方法,但是每一个类都有自己独特的用法。这两个类都是实现对内存进行数据读写的功能,而不是对持久性存储器进行读写。
1、Read():读取MemoryStream流对象,将值写入缓存区。
2、ReadByte():从MemoryStream流中读取一个字节。
3、Write():将值从缓存区写入MemoryStream流对象。
4、WriteByte():从缓存区写入MemoytStream流对象一个字节。
5、Seek(Int64, SeekOrigin)将当前流中的位置设置为指定值。
关于memoryStream的官方api:微软api说明
三,datatable在代码中已经使用了基本用法,关于具体的说明请参考官方api:微软api说明
代码:
public static MemoryStream Export(List<DataTable> listDT,int[] widths){
//先创建一个流
MemoryStream ms = new MemoryStream();
if(listDT!=null&&listDt