Acey.ExcelX实例演练(2) -- 从ListView[应该为ListView]中导出Excel报表

Acey.ExcelX实例演练(2) 

-- ListView中导出Excel报表

关键词:ListView,数据绑定,导入Excel,导出Excel

WinForm中用来显示数据时我们常用ListView,有时我们需要将数据从Excel表格导入到系统中,有时我们也会将ListView中的数据导出至xcel,今天我们用一个小程序来练习一下这两个功能。

首先建一个WinForm的项目,在窗口中添加一个toolStrip,在其中添加两个button,一个用于导入Excel,一个用于导出Excel。再添加一个Listview。如图所示。

public partial class AceyOffice : Form

{

 public AceyOffice()

 {

    InitializeComponent();

    InitLvPart("StudentInfo");

 } 

//初始化Listview的显示列

private void InitLvPart(string customflg)

{

    if (customflg == "StudentInfo")

    {

       this.listView1.Clear();

       this.listView1.Columns.Add("姓名");

       this.listView1.Columns.Add("学号");

       this.listView1.Columns.Add("数学");

       this.listView1.Columns.Add("语文");

       this.listView1.Columns.Add("英语");

       this.listView1.Columns.Add("总分");

    }

}

//导入Excel

private void toolStripButton1_Click(object sender, EventArgs e)

{

    OpenFileDialog ofdlg = new OpenFileDialog();

    ofdlg.Filter = "(*.xls)|*.xls";

    ofdlg.Title = "请选择需导入Excel文件";

    if (ofdlg.ShowDialog() == DialogResult.OK)

    {

string filepath = ofdlg.FileName;

IWorkbook workbook = ExcelxApplication.Open(filepath);

IWorksheet worksheet = workbook.Worksheets[0];

List<List<string>> studentsinfo = new List<List<string>>();

//获取Excel表括格中的所有信息

for (int i = 1; i < worksheet.Rows.Count;i++ )

{

    if (worksheet.Cells[i, 0].Value != null)

    {

List<string> student = new List<string>();

string studentname = worksheet.Cells[i, 0].Value.ToString();

student.Add(studentname);

string studentnumber = worksheet.Cells[i, 1].Value.ToString();

student.Add(studentnumber);

string math = worksheet.Cells[i, 2].Value.ToString();

student.Add(math);

string chinese = worksheet.Cells[i, 3].Value.ToString();

student.Add(chinese);

string english = worksheet.Cells[i, 4].Value.ToString();

student.Add(english);

string total = worksheet.Cells[i, 5].Value.ToString();

student.Add(total);

studentsinfo.Add(student);

    }

    else

break;

}

//绑定ListView

for(int j=0;j<studentsinfo.Count;j++)

{

    ListViewItem item = new ListViewItem();

    item.Text = studentsinfo[j][0];

    item.SubItems.Add(studentsinfo[j][1]);

    item.SubItems.Add(studentsinfo[j][2]);

    item.SubItems.Add(studentsinfo[j][3]);

    item.SubItems.Add(studentsinfo[j][4]);

    item.SubItems.Add(studentsinfo[j][5]);

    this.listView1.Items.Add(item);

}

    }

}

//导出Excel

private void toolStripButton2_Click(object sender, EventArgs e)

{

    IWorkbook workbook = ExcelxApplication.CreateWorkbook();

    IWorksheet worksheet = workbook.Worksheets[0];

    worksheet.Cells[0, 0].Value = "姓名";

    worksheet.Cells[0, 1].Value = "学号";

    worksheet.Cells[0, 2].Value = "语文";

    worksheet.Cells[0, 3].Value = "数学";

    worksheet.Cells[0, 4].Value = "英语";

    worksheet.Cells[0, 5].Value = "总分";

    for (int i = 0; i < this.listView1.Items.Count; i++)

    {

worksheet.Cells[i + 1, 0].Value = this.listView1.Items[i].SubItems[0].Text;

worksheet.Cells[i + 1, 1].Value = this.listView1.Items[i].SubItems[1].Text;

worksheet.Cells[i + 1, 2].Value = this.listView1.Items[i].SubItems[2].Text;

worksheet.Cells[i + 1, 3].Value = this.listView1.Items[i].SubItems[3].Text;

worksheet.Cells[i + 1, 4].Value = this.listView1.Items[i].SubItems[4].Text;

worksheet.Cells[i + 1, 5].Value = this.listView1.Items[i].SubItems[5].Text;

    }

    workbook.SaveAs("C:\\StudentInfo.xls"FileFormat.Excel97To2003);

}

    }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值