excel导出功能原型
本篇博客是记录自己实现的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导出功能原型的更多相关文章
- Atitit.excel导出 功能解决方案 php java C#.net版总集合.doc
Atitit.excel导出 功能解决方案 php java C#.net版总集合.docx 1.1. Excel的保存格式office2003 office2007/2010格式1 1.2. 类库选 ...
- 用SpringMvc实现Excel导出功能
以前只知道用poi导出Excel,最近用了SpringMvc的Excel导出功能,结合jxl和poi实现,的确比只用Poi好,两种实现方式如下: 一.结合jxl实现: 1.引入jxl的所需jar包: ...
- 利用Aspose.Cells完成easyUI中DataGrid数据的Excel导出功能
我准备在项目中实现该功能之前,google发现大部分代码都是利用一般处理程序HttpHandler实现的服务器端数据的Excel导出,但是这样存在的问题是ashx读取的数据一般都是数据库中视图的数据, ...
- excel导出功能优化
先说说优化前,怎么做EXCEL导出功能的: 1. 先定义一个VO类,类中的字段按照EXCEL的顺序定义,并且该类只能用于EXCEL导出使用,不能随便修改. 2. 将查询到的结果集循环写入到这个VO类中 ...
- java利用EasyPoi实现Excel导出功能
easypoi功能如同名字easy,主打的功能就是容易,让一个没见接触过poi的人员 就可以方便的写出Excel导出,Excel模板导出,Excel导入,Word模板导出,通过简单的注解和模板 语言( ...
- asp.net excel导出功能
以下是我在项目开发中所做的关于Excel导出功能,不足之处还望大家指正,相互学习 protected void btn_Export_Click(object sender, EventArgs e) ...
- 使用NPOI实现简单的Excel导出功能
[1]NPOI是啥? NPOI是指构建在POI 3.x版本之上的一个程序,NPOI可以在没有安装Office的情况下对Word或Excel文档进行读写操作. POI是一个开源的Java读写Excel. ...
- Delphi实现带有格式的Excel导出功能
功能预览 运行预览 模板样式 存储返参 导出的Excel 2. 代码实现 //执行sql的函数 procedure TForm1.GetReportData(astrsql:string); var ...
- java(POI):基于模版的Excel导出功能,局部列写保护总结
需求描述: 1.导出的Excel中部分列包含有下拉列表,并没有尝试过用代码实现这种功能,个人感觉比较棘手,故采用了模版的形式,直接导出数据到已经创建好的Excel模版中 2.Excel的第一列需要写保 ...
随机推荐
- ie浏览器报 promise 问题
1.首先安装:babel-polyfill npm install babel-polyfill --save2.然后引入:babel-polyfill 在build目录下,webpack.ba ...
- js节点操作实例
写了一个简单的小例子来引用js实例 1. 初步节点操作: 2.兼容性节点操作: 3.节点的类型,名字: 4.使用setAttribute设置属性 5.节点复制操作: 6.删除和替换节点 如有错误,还望 ...
- html学习笔记--标签大全
一.HTML标记 标签:!DOCTYPE 说明:指定了 HTML 文档遵循的文档类型定义(DTD). 标签:a 说明:标明超链接的起始或目的位置. 标签:acronym 说明:标明缩写词. ...
- DMZ靶场渗透
0x00 目标站点www.test.ichunqiu 0x01 尝试登陆系统 -尝试弱密码登陆 结果:forbidden!!! -尝试万能账号密码登陆 1‘ or 1=1--+ 和 1‘ or 1=1 ...
- Java编码算法和摘要算法
编码算法 编码算法是将一种形式转换成等价的另外一种形式.主要是为了方便某种特定场景的处理. 字母如何在计算机中表示呢? 用ASCII编码 那中文字符如何在计算机中表示呢? 用Unicode编码 如何同 ...
- The Road to learn React书籍学习笔记(第二章)
The Road to learn React书籍学习笔记(第二章) 组件的内部状态 组件的内部状态也称为局部状态,允许保存.修改和删除在组件内部的属性,使用ES6类组件可以在构造函数中初始化组件的状 ...
- 21045234黄斐《java程序设计》第四周
教材学习内容总结 第六章部分 - 继承与多态 何谓继承 继承面向对象中,子类继承父类,避免重复的行为定义.一般来说,父类的父类也称父类,且同一个子类只允许拥有一个父类,而同一个父类则可以拥有多个子类. ...
- echarts 柱状图移除圆角
itemStyle: { normal: { color: '#59519f', barBorderColor: '#59519f', barBorderWidth: 6, barBorderRadi ...
- 【MongoDB】NoSQL Manager for MongoDB 教程(基础篇)
前段时间,学习了一下mongodb,在客户端工具方面,个人认为 NoSQL Manager for MongoDB 是体验比较好的一个,功能也较齐全.可惜在找教程的时候,发现很难找到比较详细的教程,也 ...
- python-模块详解
模块: 模块的分类: 第三方模块/扩展模块:没在安装python解释器的时候安装的那些功能 自定义模块:你写的功能如果是一个通用的功能,那你就把它当做一个模块 内置模块:安装python解释器的时候跟 ...