English 中文(简体)
出口加工业与关闭的XML图书馆与开放式XML合作有何差别? [闭门]
原标题:What are the differences between the EPPlus and ClosedXML libraries for working with OpenXML? [closed]

要求我们提议或找到一种工具、图书馆或偏袒场外资源的问题,由于这些问题往往吸引有意见的答复和垃圾邮件,因而成为Stack Overflow的场所。 相反, 问题以及迄今为止为解决这一问题所做的工作。

Closed 9 years ago.

I m试图在封闭式XML、EPA Plus和可能的SpreadsheetLight之间作出选择。 我会考虑什么原因来取代其他原因?

问题回答

上周,我一直在评价EPA Plus、封闭式XML和SpreadsheetLight。 这三个图书馆都是很伟大的图书馆,它们与极具凝聚力的开放式图书馆合作。 由于以下原因,我决定与EPA Plus接洽:

  • Initially, I was going to go with ClosedXML. It has great documentation and the object structure made a lot of sense to me. I have some charting requirements though and as of right now, ClosedXML doesn t have any charting functions.

  • 接着,我 st卑地 upon着眼光, Sp光也很好,确实支持一些图表。 我也像提交人的态度和对他的产品的承诺一样。However,该项目建立在开放XML 2.0 SDK之上,而不是2.5,而开放XML是我的一个交易跳板,因为如果图书馆不能满足我的需要,我愿意灵活地与开放XML直接合作。 我的项目针对的是2013年的前奏,因此我希望最新的SDK能够与......Update! See ErrCode s comment below for Additional info...

  • Finally, I came across EPPlus which has okay documentation and supports charting. It is has been downloaded far more times than the other two which gives me some security in knowing that others are using it and the community seems to be active around the project. They are also currently on beta 2 of version 4 which sounds promising from what others are saying. I m also getting the gist that EPPlus has good performance (not that the others are necessarily bad) and the upcoming version 4 seems to be improving on that further.


Update

另外一个非常有用的特点 I ve found included withEPA Plus is how it exposures the XML for the various part of the worksheet. 如果有一个没有出口加工加工业公司支持的特征,你仍可以将XML(在某些情况下)用于取得预期产出。 例如,如果你有一张纸面图,希望能够贴上多级标签,你可以做以下工作:

    private void EnableMultiLevelLabels(ExcelChart chart)
    {   
        var element = chart.ChartXml.GetElementsByTagName("c:catAx")[0];
        if (element == null)
            return;

        var multiLevelLabelNode = element.AppendChildElementNode("c:noMultiLvlLbl");
        if (multiLevelLabelNode != null)
            multiLevelLabelNode.AppendNodeAttribute("val", "0");
    }




相关问题
Manually implementing high performance algorithms in .NET

As a learning experience I recently tried implementing Quicksort with 3 way partitioning in C#. Apart from needing to add an extra range check on the left/right variables before the recursive call, ...

Anyone feel like passing it forward?

I m the only developer in my company, and am getting along well as an autodidact, but I know I m missing out on the education one gets from working with and having code reviewed by more senior devs. ...

How do I compare two decimals to 10 decimal places?

I m using decimal type (.net), and I want to see if two numbers are equal. But I only want to be accurate to 10 decimal places. For example take these three numbers. I want them all to be equal. 0....

Exception practices when creating a SynchronizationContext?

I m creating an STA version of the SynchronizationContext for use in Windows Workflow 4.0. I m wondering what to do about exceptions when Post-ing callbacks. The SynchronizationContext can be used ...

Show running instance in single instance application

I am building an application with C#. I managed to turn this into a single instance application by checking if the same process is already running. Process[] pname = Process.GetProcessesByName("...

How to combine DataTrigger and EventTrigger?

NOTE I have asked the related question (with an accepted answer): How to combine DataTrigger and Trigger? I think I need to combine an EventTrigger and a DataTrigger to achieve what I m after: when ...

热门标签