0

我在服务器上有一个excel文件。我使用如下所示的路径访问它:“\\Server\folder\file.xlsx”。

我可以使用 Office 的 Excel API 读取它,但由于我无法在我的服务器上安装 Office,我需要避免这种依赖。

我尝试使用其他一些库,但它不起作用......

我尝试使用 EPPLUS 打开文件,但是当我尝试打开工作簿时出现异常提示“相对 URI 不支持此操作”...我尝试使用 ExcelLibrary,但出现内存不足异常... .

//EXCELLIBRARY
Workbook book = Workbook.Load(_filename);

//EPPLUS
FileInfo file = new FileInfo(_filename);
ExcelPackage pack = new ExcelPackage(file);
ExcelWorksheet sheet = pack.Workbook.Worksheets[1];

有人知道如何解决这个问题吗?

如果没有,您还有其他图书馆可以推荐吗?我不想使用 OleDB 并且已经尝试过 NOPI。我想要一个只需要添加对 dll 的引用的库。我需要打开 excel 2010 文件。我还需要能够确定工作表中使用的范围并获取包含值的数组。这是我使用并使用 office API 的代码。

Excel.Application xlApp;
Excel.Workbook xlWorkBook;
Excel.Worksheet xlWorkSheet;
object misValue = System.Reflection.Missing.Value;

xlApp = new Excel.ApplicationClass();
xlWorkBook = xlApp.Workbooks.Open(_filename, 0, true, 5, "", "", true, Excel.XlPlatform.xlWindows, "\t", false, false, 0, true, 1, 0);
xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);

 _range = (System.Array)xlWorkSheet.UsedRange.Value2;
 _headers = GetHeaders(_range);

 _lastRow = xlWorkSheet.Cells.Find("*", misValue, misValue, misValue, Excel.XlSearchOrder.xlByRows,
 Excel.XlSearchDirection.xlPrevious, false, misValue, misValue).Row;

 xlWorkBook.Close(false, misValue, misValue);
 xlApp.Quit();
4

4 回答 4

2

经过一整天的搜索和尝试许多库,我终于找到了一些有用的东西,Koogra。

http://sourceforge.net/projects/koogra/?_test=b

Workbook wb = new Workbook(_filename);
_worksheet = wb.GetWorksheet(0);

//You can do the same to find LastCol, LastRow or FirstCol
uint firstRow = _worksheet.CellMap.FirstRow
string aHeader = (string)_worksheet.GetRow(firstRow).GetCell(3);
于 2012-04-05T13:04:06.843 回答
0

这不是网络路径的样子。它应该是这样的

\\server\path\to\file\image.jpg

注意开头的双斜线。只有一个斜杠,它就变成了相对于当前驱动器的路径(这是错误告诉你的)。

于 2012-04-04T15:24:41.383 回答
0

在我看来, FileInfo 构造函数正在抛出该异常,您确定 EEPlus 正在抛出它吗?因为在 NT 系列 FileInfo 构造函数正在调用 Path.NormalizeSlow 并且该方法正在抛出异常:

throw new ArgumentException(Environment.GetResourceString("Argument_PathUriFormatNotSupported"));
于 2012-04-05T13:38:53.883 回答
0

尝试使用新的 Epplus 库 4.1

此版本修复了大部分错误

于 2016-08-01T09:00:25.390 回答