最初に、以前に質問したことをお詫びしますが、静かな時間に投稿したため、回答が得られませんでした。
xlsx ドキュメントの列からフォーム ベースのプログラムの配列リストにデータを読み込もうとしているので、さまざまなデータを呼び出して onscren を操作したり、単に表示したりできますが、一部のコードを動作させることができません。フォーラムを検索したところ、ポスター作品によるとこれが見つかりましたが、問題が発生しています。Excel に関連するコードを記述する必要がなかったため、文字通りこの問題に固執しています。
スローされるエラーは、「サーバー、欠落、およびセッション」という言葉が現在のコンテキストに存在しないことです。セッションがwinformsアプリケーションの一部ではないことは承知していますが、どうすればよいかわかりません。
using Microsoft.Office.Interop.Excel;
これがメインコードです
string filePath = "SampleData.xlsx";
try
{
Excel.Application appExl;
Excel.Workbook workbook;
Excel.Worksheet NwSheet;
Excel.Range ShtRange;
appExl = new Excel.Application();
workbook = appExl.Workbooks.Open(filePath);
workbook = appExl.Workbooks.Open(Server.MapPath(filePath), Missing.Value, Missing.Value,
Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value,
Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value);
NwSheet = (Excel.Worksheet)workbook.Sheets.get_Item(1);
int Cnum = 0;
int Rnum = 0;
ShtRange = NwSheet.UsedRange;
DataTable dt = new DataTable();
for (int row = 1; row <= ShtRange.Rows.Count; row++)
{
string str = Convert.ToString((ShtRange.Cells[row, 1] as Excel.Range).Value2);
dt.Columns.Add(str);
}
workbook.Close(true);
appExl.Quit();
Session["data"] = dt;
return true;
}
catch (Exception ex)
{
return false;
}
これは、あるべき姿をよりよく表していますか?
using Excel = Microsoft.Office.Interop.Excel;
using System.Reflection;
string FilePath = "SampleData.xlsx";
Excel.Application appExl;
Excel.Workbook workbook;
Excel.Worksheet NwSheet;
Excel.Range ShtRange;
appExl = new Excel.Application();
workbook = appExl.Workbooks.Open(FilePath);
NwSheet = (Excel.Worksheet)workbook.Sheets.get_Item(1);
int Cnum = 0;
int Rnum = 0;
ShtRange = NwSheet.UsedRange;
DataTable dt = new DataTable();
for (int row = 1; row <= ShtRange.Rows.Count; row++)
{
string str = Convert.ToString((ShtRange.Cells[row, 1] as Excel.Range).Value2);
dt.Columns.Add(str);
}
workbook.Close(true);
appExl.Quit();