2017-06-09 39 views
0

我想從excell(.xlsx或.xls)文件讀取數據 我正在使用EPPlus ,但它給出了錯誤IndexOutOfRangeException:工作表位置超出範圍。 在這一行EPPlus excell read IndexOutOfRangeException

OfficeOpenXml.ExcelWorksheet workSheet = package.Workbook.Worksheets[0]; 

這裏是我的一切code.Here是redad(http://yazilimsozluk.com/a.xlsx) .Are那裏爲EXCELL任何解決方案閱讀與工作的.xlsx和.xls的EXCELL文件我EXCELL文件?

if (Request != null) { 
    HttpPostedFileBase file = Request.Files["UploadedFile"]; 
    if ((file != null) && (file.ContentLength > 0) && !string.IsNullOrEmpty(file.FileName)) { 
    string fileName = file.FileName; 
    string fileContentType = file.ContentType; 
    byte[] fileBytes = new byte[file.ContentLength]; 
    var data = file.InputStream.Read(fileBytes, 0, Convert.ToInt32(file.ContentLength)); 


    var existingFile = new System.IO.FileInfo(fileName); 
    var package = new OfficeOpenXml.ExcelPackage(existingFile); 

    OfficeOpenXml.ExcelWorksheet workSheet = package.Workbook.Worksheets[0]; 

    for (int i = workSheet.Dimension.Start.Column; i <= workSheet.Dimension.End.Column; i++) { 
     for (int j = workSheet.Dimension.Start.Row; j <= workSheet.Dimension.End.Row; j++) { 
     object cellValue = workSheet.Cells[i, j].Value; 
     } 
    } 

    } 
} 
+0

如果你有一個選擇,只是檢查XLS/XLSX,並告知你不支持XLS用戶。如果你沒有選擇,你可能需要去一些商業圖書館......老實說,xls的免費版本從來沒有真正爲我工作過 - 對xlsx的支持更好。也許你是幸運的,有人有一個更好的主意 – grek40

+0

好吧,我可以通知用戶,但.xlsx不起作用,它給出了相同的錯誤 – user1688401

+0

就這樣我們很清楚:請確保您可以打開Excel中的特定文件沒有任何警告消息之前當您嘗試在其他程序中使用相同的文件時,您會抱怨錯誤。 – grek40

回答

0

首先,EPPlus無法處理.xls文件。看到這個答案:

Error when trying to read an .xls file using EPPlus

示例代碼讀取文件:

var package = new ExcelPackage(new FileInfo("sample.xlsx")); 

ExcelWorksheet workSheet = package.Workbook.Worksheets.FirstOrDefault(); 

for (int i = workSheet.Dimension.Start.Column; 
     i <= workSheet.Dimension.End.Column; 
     i++) 
{ 
    for (int j = workSheet.Dimension.Start.Row; 
      j <= workSheet.Dimension.End.Row; 
      j++) 
    { 
     object cellValue = workSheet.Cells[i, j].Value; 
    } 
} 
+0

你的代碼給出錯誤(工作表位置超出範圍)。這裏是我的excell文件:http://yazilimsozluk.com/a.xlsx – user1688401

+0

該文件是一個重命名的'.html'文件。 ''。修復:重命名爲'.xls',在Excel中打開它,然後另存爲'xlsx'。 – Ogglas

+0

我做到了,它給出相同的錯誤 – user1688401