1

我研究了在不使用 Excel 互操作的情况下使用 c#.net 操作 Excel 文件的方法,并且遇到了 EPPlus。它似乎在 Windows 上工作得很好。但是我怎样才能让它在 Mono 中工作(我们的服务器是 Linux 服务器)。

这是我试图测试的代码(一个简单的.exe):

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using OfficeOpenXml;
using OfficeOpenXml.Drawing;
using OfficeOpenXml.Style;
using System.IO;

namespace ConsoleApp
{
class Program
{
    static void Main(string[] args)
    {

        ExcelPackage excelPackage = new ExcelPackage();
        ExcelWorksheet excelWorksheet = CreateSheet(excelPackage, "TestSheet");

        Byte[] bin = excelPackage.GetAsByteArray();
        string file = Directory.GetCurrentDirectory() + @"\Test.xlsx";
        File.WriteAllBytes(file, bin);
    }
}
}

但是当然,当我尝试从 Linux 服务器运行它时,它会崩溃并显示“控制台应用程序已停止工作”。有什么明显的我做错了吗?

非常感谢!

4

2 回答 2

1

此版本不支持 Mono。请参考EPPlus 常见问题

我可以将这个库与 Mono 一起使用吗?

好问题!我没试过,所以不知道。如果您尝试过,请给我一些反馈。

于 2012-11-08T10:22:14.833 回答
1

是的你可以!下载了Epplus 4.0.3。使用 libreoffice 创建了一个 Excel 工作簿。在 mint 17.1 上使用 monodevelop 创建了一个控制台应用程序。

using System;
using OfficeOpenXml;
using System.IO;
namespace test
{
    class MainClass
    {
        public static void Main (string[] args)
        {
            FileInfo f = new FileInfo ("tht.xlsx");
            using (ExcelPackage p = new ExcelPackage(f))
            {
                ExcelWorksheet ws = p.Workbook.Worksheets["Ark1"];
                Console.WriteLine(ws.Cells[1, 1].Value);
            }


        }
    }
}
于 2015-03-20T20:38:30.387 回答