private void button3_Click(object sender, EventArgs e)
{
SaveFileDialog file = new SaveFileDialog {
Title = "Save File To",
FileName = cmbCategory.Text + " " + Description.Text + ".csv",
Filter = "CSV (*.csv)|*.csv",
FilterIndex = 0,
InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)
};
if (file.ShowDialog() == DialogResult.OK) {
string[] headers = lstResult.Columns
.OfType<ColumnHeader>()
.Select(header => header.Text.Trim()).ToArray();
string[][] items = lstResult.Items
.OfType<ListViewItem>()
.Select(Details => Details.SubItems
.OfType<ListViewItem.ListViewSubItem>()
.Select(Detail => Detail.Text).ToArray()).ToArray();
string table = string.Join(",", headers) + Environment.NewLine;
foreach (string[] a in items)
{
table += string.Join(",", a) + Environment.NewLine;
}
table = table.TrimEnd('\r', '\n');
System.IO.File.WriteAllText(file.FileName, table);
}
}
これまでのところ、データ値がExcelファイルに転送されるときに列を自動フォーマットしようとしましたが、この「lstResult.Columns.Autofit()」ではうまくいきません。なぜなら、Excelファイルを開くと表示されるからですエクスポートされたデータ値の幅に基づいて各列のサイズを変更します。助けてください