私はこれを実行していましたが、停止しています。理由を理解できません。 EPPlus.Core v1.3を使用して、簡単なExcelファイルをインポートしています。ここで私が使用しているコードだ:Asp.netコアのインポートExcelファイルFileNotFoundException
public async Task<IActionResult> Import(IFormFile file)
{
//Get file
var newfile = new FileInfo(file.FileName);
var fileExtension = newfile.Extension;
//Check if file is an Excel File
if (fileExtension.Contains(".xls"))
{
//Create an excel package
using (var package = new ExcelPackage(newfile))
{
//Get the first worksheet in the file
var worksheet = package.Workbook.Worksheets[1];
...
のvarワークシートの行は、エラー
「IndexOutOfRangeException。:範囲外のワークシートの位置を」スロー
しかし、私はパッケージ変数を見たとき、私はこのエラーが表示
「長さ= 『package.File.Lengthは』 『System.IO.FileNotFoundException』をタイプ の例外を投げました」
私はここで何が欠けていますか?私が言ったように、これはうまくいきましたが、この問題を引き起こすためにこのコードに関連して私が変更したものは考えられません。
アップロードされたファイルを取り込み、ファイルインフォオブジェクトを介してファイル名を取得し、次にFileInfoインスタンスをExcelPackageに渡しているようです。ファイルをロードする前に、ファイルをどこかのフォルダに保存してください。 –
私はサーバーに保存しないようにしています。ファイルはかなり小さいので、私はそのファイルをメモリにロードして処理するだけでした。 – Wyatt
それでは、FileInfoの代わりに 'ExcelPackage'にストリームを渡す必要があります。いくつかのバージョンで 'IFormFile'を見たことはありませんが、新しいExcelPackage(file.OpenReadStream())'が実行されるかもしれませんので、名前が異なるかもしれません。しかし、あなたはその考えを得る。 –