2012-03-09 3 views
0

내 asp.net 웹 응용 프로그램에서 파일을 업로드 한 결과 xls 파일이 바이트 []에 저장되어 있습니다. xls 파일을 읽고 [byte] []로 처리 할 수있는 라이브러리가 있습니까? 파일을 디스크에 저장하고 싶지 않습니다.메모리 ASP.Net에서 XLS 파일 읽기

셀 내용을 읽을 수 있어야합니다 (선택 사항이있는 경우 CSV 파일을 허용하는 것이 좋습니다).

필자는 SpreadsheetGear가 이것을 주장했지만 필자는 필자가 필요로하는 것보다 많은 것을하는 소프트웨어에 1000 달러를 지불하지 않을 것이라고 말했다.

XLS 파일이 아니라 XLSX 파일을 언급하고 있지만 두 가지 모두에 대한 조언이 필요합니다.

답변

1

체크 아웃 excellibrary 수 있습니다. OpenXML (.xlsx)을 다룰 경우 Open XML SDK을 체크 아웃 할 수 있습니다.

1

EPPlus는 Excel 파일 작업을위한 견고한 라이브러리이기도합니다. 여기에는 MemoryStream에서 파일과 상호 작용하는 방법을 보여주는 샘플이 있습니다.

http://epplus.codeplex.com/

-1

당신은 ADO.NET 및 OLEDB 드라이버를 사용하여 엑셀 라이브러리없이 .XLS 내용을 읽을 수 있습니다. 그러나 워크 시트는 "테이블"형식이어야합니다. 이것이 사실이라면, 잘 작동합니다.

연결 문자열이 같은해야한다 :

제공 = Microsoft.Jet.OLEDB.4.0; 데이터 원본 = C : HDR = 예;; 속성 = "엑셀 8.0 확장 \의 MyExcel.xls IMEX = 1";

감사합니다.

0

XLS에 대한 귀하의 언급은이 경우에 당신은 당신은 메모리에 XLS를 전달할 수 Tarantino Bitbucket Repository

에서 타란티노 프로젝트의 일환으로 제공되는 ExcelWorkbook/ExcelWorksheet 리더 코드를 사용할 수 있습니다 이전 Excel 97에서 형식을 제안한다 스트림으로 도우미 메서드는 워크 시트 데이터와 시트를 나타내는 테이블이있는 DataSet을 반환합니다. 당신은 전체 타란티노 프로젝트 코드가 필요하지 않고 간단하게 잡을 수 있습니다

  • ExcelWorkbookReader.cs
  • ExcelWorksheetReader.cs을
  • IExcelWorkbookReader.cs
  • IExcelWorksheetReader.cs

을 이러한 추가 파일을 솔루션에 추가하십시오. 인터페이스를 사용하여

간단하다

[HttpPost] 
public ActionResult Uploadfile(HttpPostedFileBase file) 
{ 
    var reader = new ExcelWorkbookReader(); 
    var data = reader.GetWorkbookData(file.InputStream); 

    // Do something with the data here 

    return RedirectToAction("List"); 
}