5

以下のコードを使用して、ExcelファイルからADO.NETデータセットにデータを読み込もうとしています。Windowsフォームアプリケーションでは機能しますが、asp.netアプリケーションでは失敗します。

 public static DataTable ArchiveData(string fileName)
{
    FileStream stream = File.Open(fileName, FileMode.Open, FileAccess.Read);

    //Reading from a OpenXml Excel file (2007 format; *.xlsx)
    IExcelDataReader excelReader = ExcelReaderFactory.CreateOpenXmlReader(stream);
    excelReader.IsFirstRowAsColumnNames = true;

    DataSet result = excelReader.AsDataSet();

    //Free resources (IExcelDataReader is IDisposable)
    excelReader.Close();
    return result.Tables["Archive data"];
}

スタックトレース:

[HttpException (0x80004005): Maximum request length exceeded.]
   System.Web.HttpRequest.GetEntireRawContent() +8793522
   System.Web.HttpRequest.GetMultipartContent() +62
   System.Web.HttpRequest.FillInFormCollection() +236
   System.Web.HttpRequest.get_Form() +68
   System.Web.HttpRequest.get_HasForm() +8745879
   System.Web.UI.Page.GetCollectionBasedOnMethod(Boolean dontReturnNull) +97
   System.Web.UI.Page.DeterminePostBackMode() +63
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +133

または、ExcelファイルをクライアントマシンからASP.NETのADO.NETDataTableに読み込むためのより良い方法はありますか

4

1 に答える 1

26

web.configファイルに次のタグを追加し、機能するかどうかを確認します

<httpRuntime maxRequestLength="350000" enableVersionHeader="false" maxQueryStringLength="3584" executionTimeout="600"/>
于 2013-03-05T07:04:15.973 に答える