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的使用总结的更多相关文章

  1. Aspose.Cells导出Excel(1)

    利用Aspose.Cells导出excel 注意的问题 1.DataTable的处理 2.进行编码,便于中文名文件下载 3.别忘了Aspose.Cells.dll(可以自己在网上搜索) public ...

  2. 使用Aspose.Cells读取Excel

      最新更新请访问: http://denghejun.github.io Aspose.Cells读取Excel非常方便,以下是一个简单的实现读取和导出Excel的操作类: 以下是Aspose.Ce ...

  3. 报表中的Excel操作之Aspose.Cells(Excel模板)

    原文:报表中的Excel操作之Aspose.Cells(Excel模板) 本篇中将简单记录下Aspose.Cells这个强大的Excel操作组件.这个组件的强大之处,就不多说,对于我们的报表总是会有导 ...

  4. 怎么使用Aspose.Cells读取excel 转化为Datatable

    说明:vs2012 asp.net mvc4 c# 使用Aspose.Cells 读取Excel 转化为Datatable 1.HTML前端代码 <%@ Page Language=" ...

  5. 怎么利用Aspose.Cells 获取excel 数据表中sheet的名称

    说明:开发环境 vs2012 asp.net mvc4 c# 利用Aspose.Cells 获取Excel数据表的sheet的名称,并把获取的名称赋值给easyUI 的combobox 1.运行效果 ...

  6. Aspose.cells 读取Excel表中的图片问题

    一.说明 本文主要是讲解,怎么使用aspose.cells读取Excel表中的图片,并把图片转换成流或是image对象. 二.开发环境说明 开发工具vs2012,c#语言, 三.Aspose.cell ...

  7. C#使用Aspose.Cells导出Excel简单实现

    首先,需要添加引用Aspose.Cells.dll,官网下载地址:http://downloads.aspose.com/cells/net 将DataTable导出Xlsx格式的文件下载(网页输出) ...

  8. Aspose.Cells导出Excel(2)

    DataTable dtTitle = ds.Tables[]; DataTable dtDetail = ds.Tables[]; int columns = dtTitle.Columns.Cou ...

  9. 【转】Aspose.Cells读取excel文件

    Aspose是一个很强大的控件,可以用来操作word,excel,ppt等文件,用这个控件来导入.导出数据非常方便.其中Aspose.Cells就是用来操作Excel的,功能有很多.我所用的是最基本的 ...

  10. aspose.Cells 导出Excel

    aspose aspse.Cells可以操作Excel,且不依赖于系统环境. 使用模板,通过绑定输出数据源 这种适合于对格式没有特别要求的,直接绑定数据源即可.和数据绑定控件差不多. Workbook ...

随机推荐

  1. window.onload与$(document).ready()的对比

    一.window.onload:(1)必须等待网页中所有的内容加载完毕后(包括图片)才能执行:(2)不能同时编写多个,如: window.onload = function(){ alert(&quo ...

  2. bzoj4199: [Noi2015]品酒大会(后缀数组)

    题目描述 一年一度的“幻影阁夏日品酒大会”隆重开幕了.大会包含品尝和趣味挑战 两个环节,分别向优胜者颁发“首席品酒家”和“首席猎手”两个奖项,吸引了众多品酒师参加. 在大会的晚餐上,调酒师 Rainb ...

  3. [ActionScript 3.0] 实现放大镜效果的简单方法

    //mc和bgmc是同一对象的不同实例 //mc放大的对象 //bgmc源对象 //mag放大镜 var scale:Number = 1.3;//放大倍数 mc.mask = mag; mag.st ...

  4. linux和windows之间的文件压缩和解压缩以及^R的问题

    推荐大家使用zip压缩和解压,因为zip一般是linux系统自带: 一.zip和unzip 1. zip压缩 zip -r myfile.zip ./web 将当前目录里的web下的所有文件和文件夹全 ...

  5. Python环境安装与升级

    Python是跨平台的,它可以运行在Windows,Mac,Linux/Unix系统上,在Windows上写的Python程序,在Linux上也是能够运行的.目前,Python有两个大版本,一个是2. ...

  6. P4093 [HEOI2016/TJOI2016]序列

    题目链接 题意分析 我们假设每一个数都有一个变动范围\([L_i,R_i]\) 那么我们令\(dp[i]\)表示以\(i\)结尾的最长不下降子序列的长度 那么就是\(dp[i]=max\{dp[j]+ ...

  7. JavaScript的深拷贝和浅拷贝

    一.数据类型 数据分为基本数据类型(String, Number, Boolean, Null, Undefined,Symbol)和对象数据类型.. 1.基本数据类型的特点:直接存储在栈(stack ...

  8. c++primer plus笔记

    > 第六版 操作符重载 #include<iostream> using namespace std; class Time { public: Time() { h=m=0; } ...

  9. 进阶篇:2)DFMA方法的运用

    本章目的:DFMA方法运用,引导后面的章节.(运用比只理解重要!) 1.DFMA概述 1.1 DFMA的由来 工艺粗略可分为装配工艺和制造工艺.在这里,我们所讲的“制造”是指产品或部件的某个零件的制造 ...

  10. IIS服务器环境下某路径下所有PHP接口无法运行报500.19错误

    IIS服务器环境下某路径(文件夹)下所有PHP接口无法运行报500.19错误 环境:IIS8.5 + php7.2.1 错误描述:某目录下(如 d:\web\A)所有php接口文档运行错误,接口测试工 ...