首页 > 解决方案 > 将数据从列表框导出到 Excel [C#]

问题描述

我有一个问题,因为我无法将数据从列表框导出到 Excel。我尝试了很多方法来做到这一点,但没有任何反应。在 Excel 中,我只得到Excel.Kontrahenci(班级名称),但我需要将公司名称导出到 Excel。

IMG1

List<Kontrahenci> name = new List<Kontrahenci>();

private void UpdateBinding()
{
    listBox.ItemsSource = name;
    listBox.DisplayMemberPath = "Info";
    listBox1.DisplayMemberPath = "Info";
}

public void Open()
{
    Excel1.Application excel = new Excel1.Application();
    Excel1.Workbook workbook = excel.Workbooks.Open("D:\\Test.xlsx");
    Excel1.Worksheet sheet = (Excel1.Worksheet)workbook.Sheets["Arkusz1"];
    sheet.Select();

    Excel1.Worksheet x = excel.ActiveSheet as Excel1.Worksheet;

    Excel1.Range userRange = x.UsedRange;
    int countRecords = userRange.Rows.Count;
    int add = countRecords + 1;

    x.Cells[add, 1] = listBox.SelectedItem.ToString();

    workbook.Save();
    workbook.Close();
    excel.Quit();
}

标签: c#excelwpf

解决方案


您需要ToString像这样覆盖类中的方法:

class Customer
{
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public override string ToString() { return $"{FirstName} {LastName}"; }
}

推荐阅读