簡體   English   中英

導出到跨平台 C# .NET 應用程序中的 Excel 電子表格

[英]Export to Excel spreadsheet in Cross Platform C# .NET app

所以我正在編寫一個跨平台應用程序,它將在 Mac、Linux 和 Windows 上運行。 我需要一個可以導出到 a.xlsx 的庫,而無需在主機上安裝 Excel。 此外,我需要在電子表格中包含簡單的公式。 我是 .NET 的新手,所以我不知道庫應該與哪個版本的 .NET Core 兼容,以便應用程序能夠跨平台。 我聽說過 ClosedXML,它看起來非常適合我正在嘗試做的事情。 但絕對沒有在 NuGet 頁面上,也沒有在他們的 GitHub 頁面上,state 是否與 Z303CB0EF8 或跨平台兼容請幫助。 我以前寫過整個程序,卻發現我用完全錯誤的工具編寫了它。

你可以試試我的SwiftExcel庫。 除了它是跨平台的(如果你將它安裝到你的 .NET 核心應用程序中),這個庫也非常高效,因為它直接寫入文件。 例如,您可以在幾秒鍾內寫入 100k 行,而無需使用任何 memory。

下面是一個簡單的用法示例:

using (var ew = new ExcelWriter("C:\\temp\\test.xlsx"))
{
    for (var row = 1; row <= 10; row++)
    {
        for (var col = 1; col <= 5; col++)
        {
            ew.Write($"row:{row}-col:{col}", col, row);
        }
    }
}

您還可以使用一些基本公式,例如CountMaxSumAverage 這是來自同一GitHub頁面的示例:

using (var ew = new ExcelWriter("C:\\temp\\test.xlsx"))
{
    for (var row = 1; row <= 20; row++)
    {
        ew.Write(row.ToString(), 1, row, DataType.Number);
    }

    ew.WriteFormula(FormulaType.Average, 1, 22, 1, 1, 20);
    ew.WriteFormula(FormulaType.Count, 1, 23, 1, 1, 20);
    ew.WriteFormula(FormulaType.Max, 1, 24, 1, 1, 20);
    ew.WriteFormula(FormulaType.Sum, 1, 25, 1, 1, 20);
}

面對這個問題,我從一個簡單的概念證明應用開始。 在您的情況下,這將是:創建一個只有一個條目的 .xls 文件。 有了這樣一個簡單的項目,很容易快速嘗試幾個庫。

首先創建一個 .NET 核心項目,然后導入一個 nuget package 並查看它是否仍然可以編譯。 如果是這樣,很好,嘗試讓它在 android 而不是 windows 上運行。 如果它仍然運行,那就太好了。 現在您可以開始編寫使用該庫的第一行代碼。 只需嘗試使用簡單的條目創建 a.xls。 在 windows、android 上試一試。 如果可行,請測試該庫是否具有您需要的所有功能。

如果所有這些都通過了,那么您就有了一些可能會起作用的東西。

分而治之,總是一步一個腳印。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM