Excel シミュレーションを C# にインポートする必要があります。その後、テーブルを更新できるようにする必要があります。シミュレーションは、ランダムに生成された数値を中心に展開します。乱数は手動で行っているため、変更される唯一の列です。周囲の列が乱数で更新されます。私はさまざまなことを試しましたが、今のところ運がありません。
また、コードが現在のように、
adp.Update(excelDataSet);
コマンドを実行すると、「変更された行を含む DataRow コレクションが渡された場合、Update には有効な UpdateCommand が必要です」というエラーが表示されます。テーブルは、コメントアウトされている場合にのみグリッドビューにロードされます。
これが私のコードatmです。前もって感謝します。
string fileName = @"C:\simulation.xlsx";
string connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + fileName + ";Extended Properties=\"Excel 12.0;HDR=Yes;READONLY=FALSE\"";
OleDbConnection con = new System.Data.OleDb.OleDbConnection(connectionString);
con.Open();
OleDbCommand selectCommand = new OleDbCommand("select * from [SHEET1$]", con);
OleDbDataAdapter adp = new System.Data.OleDb.OleDbDataAdapter();
adp.SelectCommand = selectCommand;
DataSet excelDataSet = new DataSet();
adp.Fill(excelDataSet);
for (int i = 0; i < 29; i++)
{
excelDataSet.Tables[0].Rows[i][1] = Math.Round(r.NextDouble(), 2);
excelDataSet.Tables[0].Rows[i][6] = Math.Round(r.NextDouble(), 2);
excelDataSet.Tables[0].Rows[i][8] = Math.Round(r.NextDouble(), 2);
}
adp.Update(excelDataSet);
gridview.DataSource = excelDataSet.Tables[0];
con.Close();