Aspose.Cells 对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;
using Microsoft.Office.Core;
using Aspose.Cells;
using System.IO;
using Aspose.Cells;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.Common;
using System.Data.SqlClient;
using System.Diagnostics;
using System.Drawing;
using System.IO;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
/// <summary>
/// 生成EXCEL
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button1_Click(object sender, EventArgs e)
{
DataTable dt = new DataTable();
dt.Columns.Add("Product", Type.GetType("System.String"));
dt.Columns.Add("Version", Type.GetType("System.String"));
dt.Columns.Add("Description", Type.GetType("System.String"));
DataRow newRow;
newRow = dt.NewRow();
newRow["Product"] = "大话西游";
newRow["Version"] = "2.0";
newRow["Description"] = "我很喜欢";
dt.Rows.Add(newRow);
newRow = dt.NewRow();
newRow["Product"] = "大话西游";
newRow["Version"] = "2.0";
newRow["Description"] = "我很喜欢";
dt.Rows.Add(newRow);
newRow = dt.NewRow();
newRow["Product"] = "大话西游";
newRow["Version"] = "4.0";
newRow["Description"] = "我很喜欢";
dt.Rows.Add(newRow);
newRow = dt.NewRow();
newRow["Product"] = "梦幻西游";
newRow["Version"] = "3.0";
newRow["Description"] = "比大话更幼稚";
dt.Rows.Add(newRow);
newRow = dt.NewRow();
newRow["Product"] = "梦幻西游";
newRow["Version"] = "3.1";
newRow["Description"] = "比大话更幼稚";
dt.Rows.Add(newRow);
newRow = dt.NewRow();
newRow["Product"] = "梦幻西游";
newRow["Version"] = "3.1";
newRow["Description"] = "比大话更幼稚";
dt.Rows.Add(newRow);
newRow = dt.NewRow();
newRow["Product"] = "坤灵网游";
newRow["Version"] = "1.1";
newRow["Description"] = "比大话更幼稚";
dt.Rows.Add(newRow);
newRow = dt.NewRow();
newRow["Product"] = "坤灵网游";
newRow["Version"] = "1.1";
newRow["Description"] = "比大话更幼稚";
dt.Rows.Add(newRow);
newRow = dt.NewRow();
newRow["Product"] = "坤灵网游";
newRow["Version"] = "1.1";
newRow["Description"] = "比大话更幼稚";
dt.Rows.Add(newRow);
string path = System.IO.Path.Combine(Application.StartupPath, "test01.xls");
if (File.Exists(path))
{
File.Delete(path);
}
Workbook workbook = new Workbook();
Worksheet worksheet = workbook.Worksheets[0];
Cells cells = worksheet.Cells;
//先设置标题项目:如大修件,日常备件等
cells.Merge(1, 0, 1, 4);
cells[1, 0].PutValue("XX月份供应商绩效考核报表");
cells[1, 0].SetStyle(set_title_style(workbook,TextAlignmentType.Center));
cells.Merge(2, 0, 1,3);
cells[2, 0].PutValue("供应商代码: E001");
cells.Merge(3, 0, 1, 3);
cells[3, 0].PutValue("供应商名称: 艾睿电子(深圳)有限公司");
cells.Merge(4, 0, 1, 3);
cells[4, 0].PutValue("供应商性质: 代理商");
cells.Merge(5, 0, 1, 2);
cells[5, 0].PutValue("总分: ");
cells.Merge(5, 2, 1, 2);
cells[5, 2].PutValue("考核等级: ");
string strCell1 = "";
string strCell2 = "";
for (int i = 0; i < dt.Rows.Count;i++)
{
if (strCell1 != dt.Rows[i][0].ToString())
{
strCell1 = dt.Rows[i][0].ToString();
int number = 0;
for (int j = i; j < dt.Rows.Count; j++)
{
if (strCell1 == dt.Rows[j][0].ToString())
{
number++;
}
else
{
break;
}
}
cells.Merge(i + 6, 0, number, 1);
cells[i + 6, 0].PutValue(dt.Rows[i][0]);
}
if (strCell2 != dt.Rows[i][1].ToString())
{
strCell2 = dt.Rows[i][1].ToString();
int number = 0;
for (int j = i; j < dt.Rows.Count; j++)
{
if (strCell2 == dt.Rows[j][1].ToString())
{
number++;
}
else
{
break;
}
}
cells.Merge(i + 6, 1, number, 1);
cells[i + 6, 1].PutValue(dt.Rows[i][1]);
}
cells[i + 6, 2].PutValue(dt.Rows[i][2]);
}
Cells cells2 = worksheet.Cells;
int columnCount = cells2.MaxColumn; //获取表页的最大列数
int rowCount = cells.MaxRow; //获取表页的最大行数
for (int col = 0; col < columnCount; col++)
{
worksheet.AutoFitColumn(col, 0, rowCount);
}
cells2.SetColumnWidth(0, 15);
cells2.SetColumnWidth(1, 15);
cells2.SetColumnWidth(2, 30);
cells2.SetColumnWidth(3, 4);
cells2.SetColumnWidth(4, 4);
for (int col = 0; col < rowCount; col++)
{
cells2.SetRowHeight(col+1, 26);
}
workbook.Save(System.IO.Path.Combine(Application.StartupPath, "test01.xls"));
workbook.Save(System.IO.Path.Combine(Application.StartupPath, "test01.pdf"), SaveFormat.Pdf);
}
//一般标题样式
protected Aspose.Cells.Style get_title_style(Workbook workbook, Color clrmy)
{
Aspose.Cells.Style styleTitle = workbook.Styles[workbook.Styles.Add()];
styleTitle.HorizontalAlignment = TextAlignmentType.Center; //标题居中对齐
styleTitle.VerticalAlignment = TextAlignmentType.Bottom; //垂直底对齐
styleTitle.Font.Name = "Arial"; //字体
styleTitle.Font.Size = 11; //字体大小
styleTitle.IsTextWrapped = true; //自动换行
styleTitle.Font.Color = clrmy;
return styleTitle;
}
//------------------------------------------------------------------------
// 工作表标题行,第一行样式
//------------------------------------------------------------------------
protected Aspose.Cells.Style set_title_style(Workbook workbook, TextAlignmentType aliCenter)
{
Aspose.Cells.Style style_top = workbook.Styles[workbook.Styles.Add()];
style_top.HorizontalAlignment = aliCenter; //标题居中对齐
style_top.Font.Size = 18; //字体大小
style_top.Font.Color = System.Drawing.Color.Blue;
style_top.Font.IsBold = true;
return style_top;
}
}
}
Aspose.Cells 对excel的使用总结的更多相关文章
- Aspose.Cells导出Excel(1)
利用Aspose.Cells导出excel 注意的问题 1.DataTable的处理 2.进行编码,便于中文名文件下载 3.别忘了Aspose.Cells.dll(可以自己在网上搜索) public ...
- 使用Aspose.Cells读取Excel
最新更新请访问: http://denghejun.github.io Aspose.Cells读取Excel非常方便,以下是一个简单的实现读取和导出Excel的操作类: 以下是Aspose.Ce ...
- 报表中的Excel操作之Aspose.Cells(Excel模板)
原文:报表中的Excel操作之Aspose.Cells(Excel模板) 本篇中将简单记录下Aspose.Cells这个强大的Excel操作组件.这个组件的强大之处,就不多说,对于我们的报表总是会有导 ...
- 怎么使用Aspose.Cells读取excel 转化为Datatable
说明:vs2012 asp.net mvc4 c# 使用Aspose.Cells 读取Excel 转化为Datatable 1.HTML前端代码 <%@ Page Language=" ...
- 怎么利用Aspose.Cells 获取excel 数据表中sheet的名称
说明:开发环境 vs2012 asp.net mvc4 c# 利用Aspose.Cells 获取Excel数据表的sheet的名称,并把获取的名称赋值给easyUI 的combobox 1.运行效果 ...
- Aspose.cells 读取Excel表中的图片问题
一.说明 本文主要是讲解,怎么使用aspose.cells读取Excel表中的图片,并把图片转换成流或是image对象. 二.开发环境说明 开发工具vs2012,c#语言, 三.Aspose.cell ...
- C#使用Aspose.Cells导出Excel简单实现
首先,需要添加引用Aspose.Cells.dll,官网下载地址:http://downloads.aspose.com/cells/net 将DataTable导出Xlsx格式的文件下载(网页输出) ...
- Aspose.Cells导出Excel(2)
DataTable dtTitle = ds.Tables[]; DataTable dtDetail = ds.Tables[]; int columns = dtTitle.Columns.Cou ...
- 【转】Aspose.Cells读取excel文件
Aspose是一个很强大的控件,可以用来操作word,excel,ppt等文件,用这个控件来导入.导出数据非常方便.其中Aspose.Cells就是用来操作Excel的,功能有很多.我所用的是最基本的 ...
- aspose.Cells 导出Excel
aspose aspse.Cells可以操作Excel,且不依赖于系统环境. 使用模板,通过绑定输出数据源 这种适合于对格式没有特别要求的,直接绑定数据源即可.和数据绑定控件差不多. Workbook ...
随机推荐
- Centos6.9下PXE安装centos 7
一.简介 这篇文章是无kickstart下安装centos7的,本篇大部分内容同我另外一篇文章相似,只是Centos7 中的isolinux.cfg有一些不太一样需要说明一下. https://www ...
- navicat 导入txt到数据库
一直都是建库 一条条添加数据 昨天碰上要导入一堆数据突然不知所措 查资料才弄好,先记录一下,以免忘记 这个是导入的数据名可以改 对导入数据表进行增删改 以上!
- shell+crontab 实时服务进程监控重启
#!/bin/sh #filename: checkProcess.sh #示例:每分钟检测httpd是否在运行,不在运行则重启 #crontab -e # 加入:*/ * * * * checkPr ...
- “全栈2019”Java第七十一章:外部类访问静态内部类成员详解
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- “全栈2019”Java第二十七章:流程控制语句中循环语句for
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- centos6,7中防火墙基本用法
centos 7中 1.永久开放端口8080 firewall-cmd --zone=public --add-port=8080/tcp --permanent (添加端口后,重启防火墙后才能查看) ...
- Python多继承的C3算法
C3算法 一.知识点补充: 拓扑排序:在图论中,拓扑排序(Topological Sorting) 是一个 有向无环图(DAG,Directed Acyclic Graph) 的所有顶点的线性序列.且 ...
- python之类与对象(2)
3. 类函数的进阶 3.1 类函数调用类属性 关于类函数调用类属性,我们尝试修改前一节的内容,以我们在之前学习的内容,调用属性直接用%+属性就可以了,那我们来试一下: 看到了程序有报错,这其实是因为在 ...
- vue.js学习笔记(一)——vue-cli项目的目录结构
vue.js是一套构建用户界面的渐进式框架.vue采用自底向上增量开发的设计.vue的核心库只关心视图层,非常容易学习,非常容易与其它库和已有项目整合.vue完全有能力驱动采用单文件组件和vue生态系 ...
- [转] crontab命令
[From] http://man.linuxde.net/crontab 当前位置:首页 » 系统管理 » crontab crontab命令 crontab命令被用来提交和管理用户的需要周期性 ...