我在服务器上有一个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,我已经试过了。我想要一个只需要添加对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();发布于 2012-04-05 21:04:07
在搜索和尝试了一整天的库之后,我终于找到了一个有效的库,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-04 23:24:41
这不是网络路径的样子。它应该是这样的
\\server\path\to\file\image.jpg请注意开头的双斜杠。只有一个斜杠,它就变成了相对于当前驱动器的路径(这就是错误告诉您的)。
发布于 2012-04-05 21:38:54
在我看来,是FileInfo构造函数抛出了这个异常,你确定是EEPlus抛出了它吗?因为在NT系列上,FileInfo构造函数正在调用Path.NormalizeSlow,而该方法正在抛出异常:
throw new ArgumentException(Environment.GetResourceString("Argument_PathUriFormatNotSupported"));https://stackoverflow.com/questions/10013692
复制相似问题