我正在尝试在按钮单击时使用Aspose创建一个工作簿,但在尝试实例化工作簿时立即遇到错误:
Blazor is running in dev mode without IL stripping. To make the bundle size significantly smaller, publish the application or see https://go.microsoft.com/fwlink/?linkid=870414
blazor.webassembly.js:1 WASM: Hello from C#
blazor.webassembly.js:1 WASM:
blazor.webassembly.js:1 WASM: Unhandled Exception:
d.printErr @ blazor.webassembly.js:1
blazor.webassembly.js:1 WASM: System.NotSupportedException: Encoding 1252 data could not be found. Make sure you have correct international codeset assembly installed and enabled.
d.printErr @ blazor.webassembly.js:1
blazor.webassembly.js:1 WASM: at System.Text.Encoding.GetEncoding (System.Int32 codepage) <0x3538bc0 + 0x00316> in <d9c16b0fee7344919775df5988c885d0>:0
FetchData.razor
:
<button class="btn btn-primary" @onclick="DownloadFile">Download</button>
@code {
WeatherForecast[] forecasts;
protected override async Task OnInitializedAsync()
{
forecasts = await Http.GetJsonAsync<WeatherForecast[]>("sample-data/weather.json");
}
private async void DownloadFile()
{
Console.WriteLine("Hello from C#");
var wb = new Aspose.Cells.Workbook();
Console.WriteLine("Created Workbook");
MemoryStream ms = new MemoryStream();
wb.Save(ms, Aspose.Cells.SaveFormat.Xlsx);
byte[] bytes = new byte[ms.Length];
ms.Read(bytes, 0, bytes.Length);
Console.WriteLine("Buffed Bytes, sending...");
await JS.InvokeVoidAsync("saveAsFile", "testWorkbook2.xlsx", bytes);
}
}
Startup.cs
public class Startup
{
public void ConfigureServices(IServiceCollection services)
{
System.Text.Encoding.RegisterProvider(System.Text.CodePagesEncodingProvider.Instance);
}
public void Configure(IComponentsApplicationBuilder app)
{
app.AddComponent<App>("app");
}
}
dotnet
版本
λ dotnet --version
3.0.100-preview9-014004
你可以看到,我试图在
startup.cs
中添加代码页,使用的是System.Text.Encoding.RegisterProvider(System.Text.CodePagesEncodingProvider.Instance);
,但很明显它们没有被加载。我在这里做错了什么?参考:https://github.com/aspnet/Blazor/issues/1338