您的位置:首页 > 其它

NPOI将数据导出到Excel中

2013-01-19 17:18 501 查看
将数据导出到Excel中,相信这样的需求大家都见的不少吧,今天为大家分享下我是如何将数据导出到Excel的

我用到了NPOI.dll插件,该插件可以从网上搜取

View Code

private void btnToExcel_Click(object sender, RoutedEventArgs e)
{
//数据源
List<Phone>listPhone=(List<Phone>)dgTest.ItemsSource;
//获取用户选择保存的路径文件名
string saveFileName=OpenFileDialog();
if (!string.IsNullOrEmpty(saveFileName))
{
//创建一个操作的对象
HSSFWorkbook workBook = new HSSFWorkbook();
//创建一个工作区
ISheet sheet = workBook.CreateSheet("通信");
//创建一行 并设置该行的值 作为标题
IRow rowHead = sheet.CreateRow(0);
rowHead.CreateCell(0,CellType.STRING).SetCellValue("地区");
rowHead.CreateCell(1, CellType.STRING).SetCellValue("类型");
rowHead.CreateCell(2, CellType.STRING).SetCellValue("区号");
rowHead.CreateCell(3, CellType.STRING).SetCellValue("日期");
int i = 0;
//循环读取数据存入sheet工作表中
foreach (var item in listPhone)
{
IRow row = sheet.CreateRow(++i);
row.CreateCell(0,CellType.STRING).SetCellValue(item.AreaName);
row.CreateCell(1, CellType.STRING).SetCellValue(item.NumbType);
row.CreateCell(2, CellType.STRING).SetCellValue(item.AreaNumb);
ICellStyle styledate = workBook.CreateCellStyle();
IDataFormat format = workBook.CreateDataFormat();
//格式具体有哪些请看单元格右键中的格式,有说明
styledate.DataFormat = format.GetFormat("yyyy\"年\"m\"月\"d\"日\"");
ICell cellDate=row.CreateCell(3, CellType.NUMERIC);
cellDate.SetCellValue(DateTime.Now.ToShortDateString());
cellDate.CellStyle = styledate;

}
using (Stream stream = File.OpenWrite(saveFileName))
{
workBook.Write(stream);
MessageBox.Show("保存成功");
}
}
}
private string OpenFileDialog()
{
SaveFileDialog sfd = new SaveFileDialog();
sfd.Filter = "Excel(*.xls, *.xlsx)|*.xls;*.xlsx";
if (sfd.ShowDialog() == true)
{
return sfd.FileName;
}
else
{
return null;
}
}


怎么样,比较简单而且比较容易控制吧
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: