Отваряне на .xlsx файлове в Npoi

Опитвам се да отворя .xlsx файл с помощта на Npoi, но той продължава да се срива със следната грешка:

1 is not a supported code page.
Parameter name: codepage

Моят код е много прост:

OpenFileDialog ofd = new OpenFileDialog();
ofd.Filter = "Excel Workbook|*.xlsx";

DialogResult dr = ofd.ShowDialog();

if (dr == DialogResult.OK)
{
    XSSFWorkbook myWorkbook;

    FileStream fs = new FileStream(ofd.FileName, FileMode.Open, FileAccess.Read);

    using (fs)
    {
        myWorkbook = new XSSFWorkbook(ofd.FileName);
    }
}

Грешката възниква при опит за създаване на работната книга. Опитах също да използвам потока, като например:

myWorkbook = new XSSFWorkbook(fs);

Някой знае ли какво не е наред? Не мога да намеря подходящ пример в мрежата за работа с .xlsx файлове. Съдя най-новата версия (2.0.1).

Благодаря.


person TheGateKeeper    schedule 07.11.2013    source източник


Отговори (5)


ICSharpCode.SharpZipLib.Zip.ZipConstants.DefaultCodePage = Encoding.Default.CodePage;
...
FileStream fs = new FileStream(ofd.FileName, FileMode.Open, FileAccess.Read);
XSSFWorkbook workbook = new XSSFWorkbook(fs);

при мен работи... ;)

person Simon    schedule 01.06.2016

Използвах Workbook Factory без проблеми. Той ще открие дали файлът е xls или xlsx и ще ви върне съответния обект. Имайте предвид, че това е версия 2.06.

Бърза проба:

_fileStream = new FileStream(filenamePath, FileMode.Open, FileAccess.Read);
_currentWorksheet = _workbook.GetSheetAt(0);
_workbook = WorkbookFactory.Create(_fileStream);
_fileStream.Close();
person David Robbins    schedule 24.05.2014
comment
Вероятно трябва да го присвоите на _workbook преди да се опитате да го използвате (разменете редове 2 и 3). - person Developer Webs; 09.07.2019

Потребител съм на Apache POI през последното десетилетие и си мислех, че NPOI е толкова добър, колкото неговия баща на Java, но се страхувам, че TheGateKeeper е прав: трябва да се извърви дълъг път.

Трябва да търся OpenXML :(

person ssamayoa    schedule 17.01.2014

Успях да отворя файла успешно с помощта на EPPlus, друга библиотека на Excel. Все още използвам NPOI за .xls файлове, но за .xlsx мисля, че трябва да се извърви дълъг път.

person TheGateKeeper    schedule 08.11.2013

Моля, опитайте най-новата версия на NPOI: NPOI 2.0 RC. Ето връзката: https://npoi.codeplex.com/releases/view/112932

person Tony Qu    schedule 13.01.2014