XLSB с SpreadsheetGear2012 - Excel не может открыть файл test.xlsb из-за недопустимого формата или расширения файла.

Я оцениваю SpreadsheetGear2012 и хочу иметь возможность открывать / сохранять все типы файлов Excel: .xls, .xlsx, .xlsm и .xlsb. Все расширения работают нормально, кроме .xlsb.

Вот код для создания простого файла .xlsb:

            SpreadsheetGear.FileFormat excelFormat = SpreadsheetGear.FileFormat.Excel12;
            SpreadsheetGear.IWorkbookSet workbookSet = SpreadsheetGear.Factory.GetWorkbookSet();

            SpreadsheetGear.IWorkbook workbook = workbookSet.Workbooks.Add(); 

            workbook.SaveAs(@"D:\test.xlsb", excelFormat);

            workbookSet.Workbooks.Close();

Этот код создает файл на диске, но его размер составляет всего 3 КБ, и если я попытаюсь открыть его вручную, я получу сообщение об ошибке из заголовка. Если я создаю файл .xlsb непосредственно из Excel, он будет иметь 12 КБ.

Это что-то, чего мне здесь не хватает? Может быть, для файла .xlsb мне нужно настроить заголовки?


person Andrei Petrut    schedule 19.02.2013    source источник


Ответы (1)


Я работаю здесь, в SpreadsheetGear, и думаю, что могу прояснить все это: символ Excel12 не должен даже присутствовать в перечислении SpreadsheetGear.FileFormat, поскольку мы еще не поддерживаем формат файла XLSB.

Этот символ был случайно включен в сборку .NET 2.0 SpreadsheetGear 2012 для .NET (SpreadsheetGear2012.dll). Вы заметите, что он (правильно) отсутствует в сборке .NET 4.0 (SpreadsheetGear2012.Core.dll). Поскольку мы никогда полностью не реализовывали этот формат файла, попытка использовать параметр Excel12, несомненно, приведет к неожиданным результатам.

Кроме того, мы удалим эту опцию из будущих сборок нашего продукта, поэтому вы должны убедиться, что удалили все ссылки на нее.

person Tim Andersen    schedule 19.02.2013
comment
Большое спасибо за то, что поделились. - person Andrei Petrut; 20.02.2013