[英]VSTO Excel Read from Current Open Workbook
是否可以使用EPPlus從打開的Excel(xlsx)中讀取? 我希望用戶能夠打開Excel文檔,單擊“加載項”按鈕並從活動工作表中讀取數據。 我不需要寫工作表,只需要閱讀它即可。
使用interop,我可以獲得打開的工作簿的完整路徑,但是當我嘗試實際訪問工作簿時,出現了I / O錯誤。 任何想法如何解決這個問題?
var test = ( Microsoft.Office.Interop.Excel.Workbook ) Globals.ThisAddIn.Application.ActiveWorkbook;
var test2 = test.ActiveSheet;
//var test21 = ( Microsoft.Office.Interop.Excel.Workbook ) Globals.ThisAddIn.Application.ActiveSheet;
var test3 = new FileInfo( test.FullName );
using ( ExcelPackage package = new ExcelPackage( test3) ) // <--- I/O error here
{
var worksheet = package.Workbook.Worksheets[ "Sheet1" ];
string myString = String.Format( "{0}", worksheet.Cells[ 1, 1 ].Text );
}
嘗試非獨占訪問,如下所示:
....
var stream = new FileStream(test.FullName, FileMode.Open, FileAccess.Read,
FileShare.ReadWrite); // <<< ---!!
using (ExcelPackage package = new ExcelPackage(stream))
{
...
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.