ExcelシートにdataGrid行をエクスポートしようとしています。 私はWinForms(dataGridView)からWPF (dataGrid)に切り替えるので、基本的に私は今までWPFについての手掛かりがありません 私はあなたの助けが必要です。エクスポート用のデータグリッド行を繰り返してExcelに戻ります。
誰かが私のループを変更する方法を教えてくれるかもしれません。 Excelシートのセルに の行を入力する代わりに、ループを変更する方法を教えてください。
私はこの問題をカバーしているSOに関するすべての記事を読んだことがありますが、 は私の問題に合ったトピックを見つけられないようです。
これは私が が完璧に動作列名、の充填のためにやったことです:それは私はそれが働いて得るために多数のattempsを試してみましたが、行と下のセルの充填に来るとき
for (int i = 1; i < dataGrid.Columns.Count + 1; i++)
{
Excel.Range BackgroundColor;
BackgroundColor = xlWorkSheet.get_Range("a9", "j9");
BackgroundColor.Interior.Color = System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.RoyalBlue);
AxlEx.Cells[9, i] = dataGrid.Columns[i - 1].Header;
}
for (int i = 0; i < dataGrid.Items.Count; i++)
{
DataRowView aux = (DataRowView)dataGrid.Items[i];
for (int j = 0; j < aux.Row.ItemArray.Length; j++)
{
//Console.WriteLine(string.Format("{0}-{1}", j, aux.Row.ItemArray[j]));
AxlEx.Cells[i + 10, j + 1] = aux.Row.ItemArray[j];
}
}
は私に明らかである型の不一致 用System.InvalidCast例外の例外がスローされます...しかし、私はSOのdidnにも、ここで、フィッティング トピックを変換する方法がわかりません私のコードを変更するために理解できる例があります。私はこれを持っていた前
:私は
DataRowView dataRow = (DataRowView)dataGrid.SelectedItem;
を参照している場合、その後1行のために働く
for (int i = 0; i < dataGrid.Items.Count; i++)
{
for (int j = 0; j < dataGrid.Columns.Count; j++)
{
AxlEx.Cells[i + 10, j + 1] = dataRow.Row.ItemArray[j].ToString();
}
}
は私が得ることができるこれはどのように動作しますか?
あなたの 'DataGrid'の' ItemsSource'は何ですか? 'ObservableCollection'または 'DataTable'? –
StepUp
こんにちはStepUp DataTable – incubuzz1978