本篇博客是记录自己实现的excel导出功能原型,下面我将简单介绍本原型:

这是我自制的窗体,有一个ListView和一个Button(导出)控件。

这是我在网上找到了使用exel需要引用的库。

using Microsoft.Office.Core;
using Microsoft.Office.Interop.Excel;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

然后我便开始了对这个原型的假设与测试,我首先把ListView中的列标题,和一行666的假数据写到ListView里面。

       public void CreateHeadersAndFillListView()
{
//建立PSP表格的每个列标题
ColumnHeader date = new ColumnHeader();
date.Text = "日期";
date.Width = 100;
listView1.Columns.Add(date);
ColumnHeader categories = new ColumnHeader();
categories.Text = "类别";
categories.Width = 60;
listView1.Columns.Add(categories);
ColumnHeader tasks = new ColumnHeader();
tasks.Text = "任务";
tasks.Width = 180;
listView1.Columns.Add(tasks);
ColumnHeader startTime = new ColumnHeader();
startTime.Text = "开始时间";
startTime.Width = 60;
listView1.Columns.Add(startTime);
ColumnHeader endTime = new ColumnHeader();
endTime.Text = "结束时间";
endTime.Width = 60;
listView1.Columns.Add(endTime);
ColumnHeader intTime = new ColumnHeader();
intTime.Text = "中断时间";
intTime.Width = 60;
listView1.Columns.Add(intTime);
ColumnHeader deltaTime = new ColumnHeader();
deltaTime.Text = "净时间";
deltaTime.Width = 60;
listView1.Columns.Add(deltaTime);
ColumnHeader comment = new ColumnHeader();
comment.Text = "备注";
comment.Width = 250;
listView1.Columns.Add(comment);
//填入数据
lvi = new ListViewItem("666");//第0列是日期
lvi.SubItems.Add("666");//第一列是类别下拉框
lvi.SubItems.Add("666");//输入好的任务描述信息
lvi.SubItems.Add("666");//开始时间
lvi.SubItems.Add("666");//结束时间 暂时为空
lvi.SubItems.Add("666");//中断时间
lvi.SubItems.Add("666");//净时间
lvi.SubItems.Add("666");//备注信息填入
listView1.Items.Add(lvi);//添加一行 }

  然后开始运行程序,此时出现以下画面:

点击导出按钮,得到excel表格,并可以选择存到指定目录下或默认路径下。

其核心代码如下:

        private void button1_Click(object sender, EventArgs e)
{
Excelex ee = new Excelex();
ee.Create();
ee.ws = ee.AddSheet("第一周");
//循环保存写入数据
ee.SetCellValue("第一周", 1, 1, "日期");
ee.SetCellValue("第一周", 1, 2, "类别");
ee.SetCellValue("第一周", 1, 3, "任务");
ee.SetCellValue("第一周", 1, 4, "开始时间");
ee.SetCellValue("第一周", 1, 5, "结束时间");
ee.SetCellValue("第一周", 1, 6, "中断时间");
ee.SetCellValue("第一周", 1, 7, "净时间");
ee.SetCellValue("第一周", 1, 8, "备注");
for (int i = 0; i < listView1.Items.Count; i++)
{
for (int j = 0; j < 8; j++)
{
ee.SetCellValue("第一周", i + 2, j + 1, listView1.Items[i].SubItems[j].Text);
}
}
ee.app.Visible = true;//用excel打开,显示出来。
ee.SaveAs("F:\\WPS\\newg.xls");
MessageBox.Show("保存成功!请在****查看!");
ee.Close();
}
//创建一个Microsoft.Office.Interop.Excel对象
     public void Create()
{
app = new Microsoft.Office.Interop.Excel.Application();
wbs = app.Workbooks;
wb = wbs.Add(true);
}
//ws:要设值的工作表的名称 X行Y列 value 值
     public void SetCellValue(string ws, int x, int y, object value)
{
  
GetSheet(ws).Cells[x, y] = value;
}  
//文档另存为
public bool SaveAs(object FileName) {
try
{
wb.SaveAs(FileName, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlExclusive, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
return true;
} catch (Exception ex)
{
return false; }
}

excel导出功能原型的更多相关文章

  1. Atitit.excel导出 功能解决方案 php java C#.net版总集合.doc

    Atitit.excel导出 功能解决方案 php java C#.net版总集合.docx 1.1. Excel的保存格式office2003 office2007/2010格式1 1.2. 类库选 ...

  2. 用SpringMvc实现Excel导出功能

    以前只知道用poi导出Excel,最近用了SpringMvc的Excel导出功能,结合jxl和poi实现,的确比只用Poi好,两种实现方式如下: 一.结合jxl实现: 1.引入jxl的所需jar包: ...

  3. 利用Aspose.Cells完成easyUI中DataGrid数据的Excel导出功能

    我准备在项目中实现该功能之前,google发现大部分代码都是利用一般处理程序HttpHandler实现的服务器端数据的Excel导出,但是这样存在的问题是ashx读取的数据一般都是数据库中视图的数据, ...

  4. excel导出功能优化

    先说说优化前,怎么做EXCEL导出功能的: 1. 先定义一个VO类,类中的字段按照EXCEL的顺序定义,并且该类只能用于EXCEL导出使用,不能随便修改. 2. 将查询到的结果集循环写入到这个VO类中 ...

  5. java利用EasyPoi实现Excel导出功能

    easypoi功能如同名字easy,主打的功能就是容易,让一个没见接触过poi的人员 就可以方便的写出Excel导出,Excel模板导出,Excel导入,Word模板导出,通过简单的注解和模板 语言( ...

  6. asp.net excel导出功能

    以下是我在项目开发中所做的关于Excel导出功能,不足之处还望大家指正,相互学习 protected void btn_Export_Click(object sender, EventArgs e) ...

  7. 使用NPOI实现简单的Excel导出功能

    [1]NPOI是啥? NPOI是指构建在POI 3.x版本之上的一个程序,NPOI可以在没有安装Office的情况下对Word或Excel文档进行读写操作. POI是一个开源的Java读写Excel. ...

  8. Delphi实现带有格式的Excel导出功能

    功能预览 运行预览 模板样式 存储返参 导出的Excel 2. 代码实现 //执行sql的函数 procedure TForm1.GetReportData(astrsql:string); var ...

  9. java(POI):基于模版的Excel导出功能,局部列写保护总结

    需求描述: 1.导出的Excel中部分列包含有下拉列表,并没有尝试过用代码实现这种功能,个人感觉比较棘手,故采用了模版的形式,直接导出数据到已经创建好的Excel模版中 2.Excel的第一列需要写保 ...

随机推荐

  1. html5手机浏览器启动微信客户端支付实例

    html5手机浏览器启动微信客户端支付实例,外部浏览器html5微信支付技术,如何在手机浏览器微信支付,在微信客户端外的移动端网页使用微信支付 首先在微信支付官网https://pay.weixin. ...

  2. 课时54.audio标签(掌握)

    1.什么是audio标签? 播放音频 格式: <audio src=""> </audio> 也是由于同样的适配问题,所以出现了第二种格式 <audi ...

  3. django定义模型类-14

    目录 1. 定义 字段类型 约束类型 django的模型类定义在应用下的 models.py 文件中. 模型类继承自 django.db.models 包下的 Model 类. 新创建应用 book ...

  4. spark 例子groupByKey分组计算

    spark 例子groupByKey分组计算 例子描述: [分组.计算] 主要为两部分,将同类的数据分组归纳到一起,并将分组后的数据进行简单数学计算. 难点在于怎么去理解groupBy和groupBy ...

  5. Linux入门进阶第五天——用户管理(帐号管理 )下

    一.身份切换 为了避免 rm -rf /* 的悲剧发生,平时使用时,尽量使用一般帐号!需要环境设置等必要时才使用root 1.su命令 一般地,推荐使用su - / su - username的形式来 ...

  6. java课堂实践(5月17日)20155317 王新玮

    对P145 MathTool.java 代码托管 在IDEA中,使用JUnit进行单元测试,测试用例不少于三个,要包含正常情况,边界情况.提交测试代码和运行结果截图,加上学号水印,提交码云代码链接. ...

  7. Zabbix学习之路(五)之MySQL监控

    1.linux-node2节点安装数据库 [root@linux-node2 ~]# yum install -y mariadb-server [root@linux-node2 ~]# syste ...

  8. PHP5.4 连接 SQL SERVER 2008

    PHP链接sqlserver需要先安装驱动,不是先把dll放到ext下面,一重启服务器就完事了. 本地环境: XAMPP 1.8.2 PHP 5.4.31 SQL SERVER 2008 R2 使用的 ...

  9. MSP430的JTAG接口和BSW接口

    1.JTAG口,JTAG引脚如下定义:  单片机TCK——测试时钟输入,接仿真器7脚  单片机TDI——测试数据输入,接仿真器2脚  单片机TDO——测试数据输出,接仿真器1脚  单片机TMS——测试 ...

  10. pycharm设置github

    1.打开file,选择settings,找到Version Contorl,打开找到GitHub ,HOST填github.com,用户名,密码,test,稍等一会,会提示成功 2. 设置好以后 打开 ...