Acey.ExcelX实例演练(2) -- 从ListView[应该为ListView]中导出Excel报表
2013-08-08 23:16
267 查看
Acey.ExcelX实例演练(2)
-- 从ListView中导出Excel报表
关键词:ListView,数据绑定,导入Excel,导出Excel
WinForm中用来显示数据时我们常用ListView,有时我们需要将数据从Excel表格导入到系统中,有时我们也会将ListView中的数据导出至xcel,今天我们用一个小程序来练习一下这两个功能。
首先建一个WinForm的项目,在窗口中添加一个toolStrip,在其中添加两个button,一个用于导入Excel,一个用于导出Excel。再添加一个Listview。如图所示。
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/07/b04f4a24944afdecd72da18e51205773.jpg)
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);
}
}
-- 从ListView中导出Excel报表
关键词:ListView,数据绑定,导入Excel,导出Excel
WinForm中用来显示数据时我们常用ListView,有时我们需要将数据从Excel表格导入到系统中,有时我们也会将ListView中的数据导出至xcel,今天我们用一个小程序来练习一下这两个功能。
首先建一个WinForm的项目,在窗口中添加一个toolStrip,在其中添加两个button,一个用于导入Excel,一个用于导出Excel。再添加一个Listview。如图所示。
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/07/b04f4a24944afdecd72da18e51205773.jpg)
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);
}
}
相关文章推荐
- Acey.ExcelX实例演练(1)—从GridView中导出Excel报表
- jxl导出excel报表实例
- C#中将ListView中数据导出到Excel的实例方法
- Jxls导出excel的若干方式总结(十)-- 在导出报表中插入单张图片
- EchartData 统计报表以及导出Excel
- **报表**EXCEL OUT 不能导出GRIDVIEWA自动生成的列 提示索引过界的解决办法
- js导入导出excel(实例代码)
- Jquery构建表单+SpringMVC实现导出Excel报表功能
- JAVA将Excel中的报表导出为图片格式(一)问题背景
- 关于Jxl导出excel的简单实例
- Excel模板导出(针对复杂报表的一种解决方式)
- java pageoffice使用,生成导出excel报表
- asp.net网页中导出EXCEL,WORD的环境设置验证实例
- JS将表单导出成EXCEL的实例代码
- Dwz与thinkphp整合下的数据导出到Excel实例
- struts2+hibernate+poi导出Excel实例
- phpExcel导出excel加超级链接和图片的实例代码
- 在.NET环境下将报表导出EXCEL和WORD
- winform导出Excel报表 2
- 数据库内容导出到EXCEL生成报表和图形的方法