在好例子网,分享、交流、成长!
您当前所在位置:首页C# 开发实例C#文件解析和处理 → c# 操作 execl demo

c# 操作 execl demo

C#文件解析和处理

下载此实例
  • 开发语言:C#
  • 实例大小:0.13M
  • 下载次数:149
  • 浏览次数:790
  • 发布时间:2020-02-24
  • 实例类别:C#文件解析和处理
  • 发 布 人:it懒家伙
  • 文件格式:.rar
  • 所需积分:2
 相关标签: demo xe 操作 C#

实例介绍

【实例简介】 c# 操作 execl demo. 可对execl 标题、列等增 删 改数据

【实例截图】

from clipboard

【核心代码】

using org.in2bits.MyXls;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace MyXlsDemo
{
    class Program
    {
        static void Main(string[] args)
        {
            CreateXls();
        }


        public static void CreateXls()
        {
            List<Person> list = new List<Person>();
            for (int i = 1; i <= 200; i  )
            {
                Person person = new Person()
                {
                    RealName = "张"   i,
                    Gender = i % 2 == 0 ? "男" : "女",
                    Age = 20   (i % 3)
                };
                list.Add(person);
            }

            int recordCount = 200; // 要导出的记录总数  
            int maxRecordCount = 100; // 每个sheet表的最大记录数  
            int sheetCount = 1; // Sheet表的数目 

            XlsDocument xls = new XlsDocument();
            xls.FileName = "MyXls-"   DateTime.Now.ToString("yyyyMMddHHmmss")   ".xls";

            if (recordCount > maxRecordCount)
            {
                sheetCount = (int)Math.Ceiling((decimal)recordCount / (decimal)maxRecordCount);
            }

            //Sheet标题样式
            XF titleXF = xls.NewXF();// 为xls生成一个XF实例,XF是单元格格式对象  
            titleXF.HorizontalAlignment = HorizontalAlignments.Centered;// 设定文字居中
            titleXF.VerticalAlignment = VerticalAlignments.Centered;// 垂直居中  
            titleXF.UseBorder = true;// 使用边框
            titleXF.TopLineStyle = 1;// 上边框样式  
            titleXF.TopLineColor = Colors.Black; // 上边框颜色 
            titleXF.LeftLineStyle = 1;// 左边框样式  
            titleXF.LeftLineColor = Colors.Black;// 左边框颜色  
            titleXF.RightLineStyle = 1; // 右边框样式  
            titleXF.RightLineColor = Colors.Black;// 右边框颜色
            titleXF.Font.FontName = "宋体";// 字体  
            titleXF.Font.Bold = true;// 是否加粗
            titleXF.Font.Height = 12 * 20;// 字大小(字体大小是以 1/20 point 为单位的)  

            // 列标题样式  
            XF columnTitleXF = xls.NewXF(); // 为xls生成一个XF实例,XF是单元格格式对象  
            columnTitleXF.HorizontalAlignment = HorizontalAlignments.Centered; // 设定文字居中  
            columnTitleXF.VerticalAlignment = VerticalAlignments.Centered; // 垂直居中  
            columnTitleXF.UseBorder = true; // 使用边框   
            columnTitleXF.TopLineStyle = 1; // 上边框样式  
            columnTitleXF.TopLineColor = Colors.Black; // 上边框颜色  
            columnTitleXF.BottomLineStyle = 1; // 下边框样式  
            columnTitleXF.BottomLineColor = Colors.Black; // 下边框颜色  
            columnTitleXF.LeftLineStyle = 1; // 左边框样式  
            columnTitleXF.LeftLineColor = Colors.Black; // 左边框颜色  
            columnTitleXF.Pattern = 1; // 单元格填充风格。如果设定为0,则是纯色填充(无色),1代表没有间隙的实色   
            columnTitleXF.PatternBackgroundColor = Colors.Red; // 填充的底色   
            columnTitleXF.PatternColor = Colors.Default2F; // 填充背景色  

            // 数据单元格样式  
            XF dataXF = xls.NewXF(); // 为xls生成一个XF实例,XF是单元格格式对象  
            dataXF.HorizontalAlignment = HorizontalAlignments.Centered; // 设定文字居中  
            dataXF.VerticalAlignment = VerticalAlignments.Centered; // 垂直居中  
            dataXF.UseBorder = true; // 使用边框   
            dataXF.LeftLineStyle = 1; // 左边框样式  
            dataXF.LeftLineColor = Colors.Black; // 左边框颜色  
            dataXF.BottomLineStyle = 1;  // 下边框样式  
            dataXF.BottomLineColor = Colors.Black;  // 下边框颜色  
            dataXF.Font.FontName = "宋体";
            dataXF.Font.Height = 9 * 20; // 设定字大小(字体大小是以 1/20 point 为单位的)  
            dataXF.UseProtection = false; // 默认的就是受保护的,导出后需要启用编辑才可修改  
            dataXF.TextWrapRight = true; // 自动换行  

            for (int i = 1; i <= sheetCount; i  )
            {
                // 根据计算出来的Sheet数量,一个个创建  
                // 行和列的设置需要添加到指定的Sheet中,且每个设置对象不能重用
                //(因为可以设置起始和终止行或列,就没有太大必要重用了,这应是一个策略问题)  
                Worksheet sheet;
                if (sheetCount == 1)
                {
                    sheet = xls.Workbook.Worksheets.Add("人员信息表");
                }
                else
                {
                    sheet = xls.Workbook.Worksheets.Add("人员信息表-"   i);
                }

                //序列号设置
                ColumnInfo col0 = new ColumnInfo(xls, sheet); // 列对象   
                col0.ColumnIndexStart = 0; // 起始列为第1列,索引从0开始  
                col0.ColumnIndexEnd = 0;// 终止列为第1列,索引从0开始  
                col0.Width = 8 * 256;// 列的宽度计量单位为 1/256 字符宽  
                sheet.AddColumnInfo(col0);

                // 姓名列设置  
                ColumnInfo col1 = new ColumnInfo(xls, sheet); // 列对象   
                col1.ColumnIndexStart = 1; // 起始列为第2列,索引从0开始  
                col1.ColumnIndexEnd = 1; // 终止列为第2列,索引从0开始  
                col1.Width = 16 * 256; // 列的宽度计量单位为 1/256 字符宽  
                sheet.AddColumnInfo(col1); // 把格式附加到sheet页上  

                // 性别列设置  
                ColumnInfo col2 = new ColumnInfo(xls, sheet); // 列对象   
                col2.ColumnIndexStart = 2; // 起始列为第3列,索引从0开始  
                col2.ColumnIndexEnd = 2; // 终止列为第3列,索引从0开始  
                col2.Width = 16 * 256; // 列的宽度计量单位为 1/256 字符宽  
                sheet.AddColumnInfo(col2); // 把格式附加到sheet页上  

                // 年龄列设置  
                ColumnInfo col3 = new ColumnInfo(xls, sheet); // 列对象   
                col3.ColumnIndexStart = 3; // 起始列为第4列,索引从0开始  
                col3.ColumnIndexEnd = 3; // 终止列为第4列,索引从0开始  
                col3.Width = 16 * 256; // 列的宽度计量单位为 1/256 字符宽  
                sheet.AddColumnInfo(col3); // 把格式附加到sheet页上  

                // 行设置  
                RowInfo rol1 = new RowInfo(); // 行对象  
                rol1.RowHeight = 16 * 20; // 行高  
                rol1.RowIndexStart = 3; // 行设置起始列,索引从1开始  
                rol1.RowIndexEnd = (ushort)(maxRecordCount   2); //行设置结束列  
                sheet.AddRowInfo(rol1); // 把设置附加到sheet页上  

                //合并单元格
                MergeArea titleArea = new MergeArea(1, 1, 1, 4); // 一个合并单元格实例(合并第1行、第1列 到 第1行、第4列)   
                sheet.AddMergeArea(titleArea); //填加合并单元格   

                // 开始填充数据到单元格  
                Cells cells = sheet.Cells;
                // Sheet标题行,行和列的索引都是从1开始的  
                Cell cell = cells.Add(1, 1, "人员信息统计表", titleXF);
                cells.Add(1, 2, "", titleXF);  // 合并单元格后仍需要设置每一个单元格,样式才有效  
                cells.Add(1, 3, "", titleXF);  // 合并单元格后仍需要设置每一个单元格,样式才有效  
                cells.Add(1, 4, "", titleXF); // 合并单元格后仍需要设置每一个单元格,样式才有效  
                sheet.Rows[1].RowHeight = 40 * 20;// 对指定的行设置行高  

                // 列标题行  
                cells.Add(2, 1, "序号", columnTitleXF);
                cells.Add(2, 2, "姓名", columnTitleXF);
                cells.Add(2, 3, "性别", columnTitleXF);
                // 最右侧的列需要右边框,通过修改样式columnTitleXF的方式,还可以通过设置单元格属性的方式实现。
                columnTitleXF.RightLineStyle = 1;
                columnTitleXF.RightLineColor = Colors.Black;
                cells.Add(2, 4, "年龄", columnTitleXF);
                sheet.Rows[2].RowHeight = 18 * 20; // 对指定的行设置行高  

                // 行索引
                int rowIndex = 3;
                for (int j = 0; j < maxRecordCount; j  )
                {
                    // 当前记录在数据集合中的索引  
                    int k = (i - 1) * maxRecordCount   j;
                    // 如果达到sheet最大记录数则跳出  
                    if (k >= recordCount)
                    {
                        break;
                    }

                    // 设置单元格的值  
                    cells.Add(rowIndex, 1, k   1, dataXF);
                    cells.Add(rowIndex, 2, list[k].RealName, dataXF);
                    cells.Add(rowIndex, 3, list[k].Gender, dataXF);

                    // 最右侧的列需要右边框,通过给Cell设置属性的方式实现,因为并不是所有的单元格都需要设置,不能通过修改样式dataXF的方式 
                    Cell lastCell = cells.Add(rowIndex, 4, list[k].Age, dataXF);
                    lastCell.RightLineStyle = 1;
                    lastCell.RightLineColor = Colors.Black;
                    rowIndex  ;
                }
            }

            xls.Save();
            //  doc.Send();//把写好的excel文件输出到客户端;

        }


    }
}

标签: demo xe 操作 C#

实例下载地址

c# 操作 execl demo

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

第 1 楼 it懒家伙 发表于: 2021-06-21 16:06 41
垃圾,用的dll算什么源码

gtpm 2021-02-09 01:52 24

眼睛不要可以给别人

支持(0) 盖楼(回复)

发表评论

(您的评论需要经过审核才能显示)

查看所有2条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警