作为C#处理Excel的强大的开源组件,NPOI具有Office Excel的绝大部分功能,与收费的Spire比虽有不足,但对于一般性的处理来说还是基本够用,这也是NPOI至今仍作为众多C#堆码人员的选择的原因。
收费软件能够提供更多的功能给用户,这也是它的卖点。Spire的DataTable数据导入,就是NPOI所不具备的,而导入DataTable数据,对于C#来说是经常遇到的,所以NPOI用起来虽然也能够想办法处理,却没有那么方便。
下面的代码,仿照Spire的DataTable数据导入,提供大家一个参照。
/// <summary>
/// NPOI把DataTable的数据写入到指定的Sheet中
/// </summary>
/// <param name="sourceData">要写入的数据表</param>
/// <param name="sheet">当前要写入的Sheet</param>
/// <param name="rowStart">当前要写入的Sheet的起始行号(行计数从1起)</param>
/// <param name="colStart">当前要写入的Sheet的起始列号(列计数从1起)</param>
/// <param name="IsWriteColumnName">DataTable的列名称是否写入Sheet</param>
/// <param name="cellStyle">单元格格式</param>
/// <returns>返回标题行数和写入的表行数的合计</returns>
private int D