Я пытаюсь преобразовать байт [], полученный из файла XLS, который у меня есть в другом месте, в новый файл XLSX и сохранить его.Я использую Free Spire.XML, но не могу понять, как это сделать.
public byte[] ConvierteAXLSX(string cuerpo)
{
Workbook wb = new Workbook();
Worksheet sheet = wb.Worksheets[0];
byte[] array = Convert.FromBase64String(cuerpo);
sheet.InsertArray(array, 1, 1, true);
wb.SaveToFile(AppDomain.CurrentDomain.BaseDirectory + "sample.xlsx", ExcelVersion.Version2013);
byte[] fileContent = File.ReadAllBytes(AppDomain.CurrentDomain.BaseDirectory + "sample.xlsx");
//File.Delete(AppDomain.CurrentDomain.BaseDirectory + "sample.xlsx");
return fileContent;
}
Этот код создает файл XLSX, но просто вставляет байт [] в файл excel как массиввместо преобразования данных.
Редактировать:
Моя проблема немного отличается от этого другого вопроса.Я не могу просто прочитать исходный файл и затем сохранить его снова, так как файл находится на другом сервере и не может получить к нему доступ.Лучшее, что я могу сделать, это отправить тело документа и разобрать его в байт [].
Это также работает, если я могу преобразовать свой байт [] в файл XLS и сохранить его, тогда я мог бы использовать ответ на другой аналогичный вопрос.
Workbook workbook = new Workbook();
workbook.LoadFromFile("Input.xls");
workbook.SaveToFile("Output.xlsx", ExcelVersion.Version2013);