public class ExcelToPdfReport
{
byte[] _package;
public ExcelToPdfReport(byte[] package)
{
_package = package;
}
public byte[] CreatePdfReport()
{
// Ensure encoding provider is registered for non-Windows platforms
System.Text.Encoding.RegisterProvider(System.Text.CodePagesEncodingProvider.Instance);
using (var excelStream = new MemoryStream(_package))
{
var workbook = new Workbook();
// Very important: Use this to enable cross-platform support internally
workbook.LoadFromStream(excelStream);
// Optional: Adjust layout settings
Worksheet sheet = workbook.Worksheets[0];
sheet.PageSetup.FitToPagesWide = 1;
sheet.PageSetup.FitToPagesTall = 0;
using (var pdfStream = new MemoryStream())
{
// Save to PDF (this will now use SkiaSharp-based rendering internally)
workbook.SaveToStream(pdfStream, FileFormat.PDF);
return pdfStream.ToArray();
}
}
}
}
< /code>
Однако, когда я запускаю это в своей производственной среде в контейнере Linux Docker, я получаю следующую ошибку; < /p>
[14:41:20 err] [Excelservice] Ошибка. />'spire.xls.core.spreadsheet.xlspagesetupbase 'бросил исключение.FreeSpire.XLS @ 14.2.0
SkiaSharp.NativeAssets.Lunix.NoDependencies @ 3.116.1
Spire.Officefor.NETStandard @ 10.2.0
Программа работает на .net 8.0 .
Контейнер Docker работает за работу Debian 12
Следующий код работает локально на моей машине Windows; < /p> [code]public class ExcelToPdfReport { byte[] _package; public ExcelToPdfReport(byte[] package) { _package = package; }
public byte[] CreatePdfReport() { // Ensure encoding provider is registered for non-Windows platforms System.Text.Encoding.RegisterProvider(System.Text.CodePagesEncodingProvider.Instance);
using (var excelStream = new MemoryStream(_package)) { var workbook = new Workbook();
// Very important: Use this to enable cross-platform support internally workbook.LoadFromStream(excelStream);
using (var pdfStream = new MemoryStream()) { // Save to PDF (this will now use SkiaSharp-based rendering internally) workbook.SaveToStream(pdfStream, FileFormat.PDF);
return pdfStream.ToArray(); } } } } < /code> Однако, когда я запускаю это в своей производственной среде в контейнере Linux Docker, я получаю следующую ошибку; < /p>
[14:41:20 err] [Excelservice] Ошибка. />'spire.xls.core.spreadsheet.xlspagesetupbase 'бросил исключение.FreeSpire.XLS @ 14.2.0 SkiaSharp.NativeAssets.Lunix.NoDependencies @ 3.116.1 Spire.Officefor.NETStandard @ 10.2.0 [/code] Программа работает на .net 8.0 . Контейнер Docker работает за работу Debian 12
Я преобразовал файл Excel в изображение на C#, но обнаружил, что используемый мной API предназначен только для Windows, кстати, я использую Linux
using Spire.Xls;
using System.Drawing;
using System.Drawing.Imaging;
using System.IO;
using System;...
Чтобы автоматически добавить фильтры к заголовкам каждого столбца сводной таблицы Excel с помощью кода C# с использованием пакета Spire.Xls.
PivotField r1 = pt.PivotFields as PivotField;
r1.Axis = AxisTypes.Row;
r1.RepeatItemLabels = true;...
Я использую Spire.xls в своем сценарии Python. Когда сценарий выполнен из VS Code Evetything работает, как и ожидалось. Я создал исполняемый файл с помощью Pyinstaller. Добавлены конкретные DLLS.
pyinstaller --noconfirm --onefile --console...
Я использую Spire.xls в своем сценарии Python. Когда сценарий выполнен из VS Code Evetything работает, как и ожидалось. Я создал исполняемый файл с помощью Pyinstaller. Добавлены конкретные DLLS.
pyinstaller --noconfirm --onefile --console...
Я использую Spire.xls в своем сценарии Python. Когда сценарий выполнен из VS Code Evetything работает, как и ожидалось. Я создал исполняемый файл с помощью Pyinstaller. Добавлены конкретные DLLS.
pyinstaller --noconfirm --onefile --console...