1
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ファイルを開くと表示されるからですエクスポートされたデータ値の幅に基づいて各列のサイズを変更します。助けてください

4

0 に答える 0