关于2015年NPOI,EPPlus和Koogra的常识是什么?

是的,Koogra只读。 EPPlus仅支持.xlsx,并且在边缘情况下有问题。

  • 还有什么人应该知道他们之间的select?
  • 他们中的一个比别人慢多less?
  • NPOI似乎很复杂,是一个Java端口,那么值得使用?
  • 是否应该使用EPPlus for .xlsx和NPOI for .xls?
  • 他们今天的一般知识是什么?

  1. Jet/ACE OLE DB或者以string的forms读取工作表,或者以types的列的forms读取工作表,所以您要么丢失数字精度,要么在第一行中必须包含头。 因此,他们应该避免。
  2. 没有库支持XLS B。
  3. 速度。
    • 对于一个大的XLS,阅读NPOI的时间: JetKoograEDR是14:8:7:5。
    • 对于相同的XLS XEPPlusNPOIKoograEDR是52:36:20:16。
    • 对于具有多个选项卡的相对较小的文件, EPPlus可以比EDR快一点。
  4. 错误(#DIV / 0 !, #VALUE!)等
    • EDRKoogra不明确支持错误。 EDR像通常的stringKoogra一样读取它们 – 作为空白单元格。
    • NPOIEPPlus做。
  5. Koogra阅读date为[OLEdate]数字,并且与实数无法区分。 另外,它有时会读取许多小数位数字不正确的数字。 EDR得到这个罚款。 所以,不要Koogra
  6. NPOI是复杂的,5个4 MB的dll。 KoograEDR很简单,每个200 KB和两个dll(它们自己和zip)。
  7. EDR作为IDataReader ,所以它依次读取数据。 它也有内置函数来获取DataSet 。 随着顺序阅读,你只能通过工作簿中的第一张纸。 Koogra支持随机访问单元格和工作表。
  8. EDR基于SharpZipKoogra基于Ionic.Zip 。 前者允许从.zip打开一个Stream文件,这对于项目的其他部分是有益的。

我没有看过NPOI写作方面,所以没有必要区分错误,我会使用EPPlus for .xlsx和EDR来读取.xls。