zoukankan      html  css  js  c++  java
  • C#操作Excell常用方法

    这是在博客园看的文章,写的很好,所以转一下,方便自己以后用到的时候可以随时查看。

    操作range类需要在项目中引用两个dll,不然点不出来,分别是:

    microsoft office XX.0 Object Library

    microsoft excelXX.0 Object Library

    ----------------------------------------------------------------------分割线

    range.NumberFormatLocal = "@";     //设置单元格格式为文本


    range = (Range)worksheet.get_Range("A1", "E1");     //获取Excel多个单元格区域:本例做为Excel表头

    range.Merge(0);     //单元格合并动作

    worksheet.Cells[1, 1] = "Excel单元格赋值";     //Excel单元格赋值

    range.Font.Size = 15;     //设置字体大小

    range.Font.Underline=true;     //设置字体是否有下划线

    range.Font.Name="黑体";      设置字体的种类

    range.HorizontalAlignment=XlHAlign.xlHAlignCenter;     //设置字体在单元格内的对其方式

    range.ColumnWidth=15;     //设置单元格的宽度

    range.Cells.Interior.Color=System.Drawing.Color.FromArgb(255,204,153).ToArgb();     //设置单元格的背景色

    range.Borders.LineStyle=1;     //设置单元格边框的粗细

    range.BorderAround(XlLineStyle.xlContinuous,XlBorderWeight.xlThick,XlColorIndex.xlColorIndexAutomatic,System.Drawing.Color.Black.ToArgb());     //给单元格加边框

    range.Borders.get_Item(Microsoft.Office.Interop.Excel.XlBordersIndex.xlEdgeTop).LineStyle = Microsoft.Office.Interop.Excel.XlLineStyle.xlLineStyleNone; //设置单元格上边框为无边框

    range.EntireColumn.AutoFit();     //自动调整列宽

    Range.HorizontalAlignment= xlCenter;     // 文本水平居中方式

    Range.VerticalAlignment= xlCenter     //文本垂直居中方式

    Range.WrapText=true;     //文本自动换行

    Range.Interior.ColorIndex=39;     //填充颜色为淡紫色

    Range.Font.Color=clBlue;     //字体颜色

    xlsApp.DisplayAlerts=false;     //保存Excel的时候,不弹出是否保存的窗口直接进行保存

    ====================================================================

    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.Reflection;
    using System.Runtime.InteropServices;
    using Microsoft.Office.Interop.Excel;
    using ExcelApplication = Microsoft.Office.Interop.Excel.ApplicationClass;
    using System.IO;
    namespace ExcalDemo
    {
        public class ExcelFiles
        {
            public void CreateExcelFiles()
            {
                ExcelApplication excel = new ExcelApplication();
                try
                {
                    excel.Visible = false;// 不显示 Excel 文件,如果为 true 则显示 Excel 文件
                    excel.Workbooks.Add(Missing.Value);// 添加工作簿
                    Worksheet sheet = (Worksheet)excel.ActiveSheet;// 获取当前工作表
                    Range range = null;// 创建一个空的单元格对象
                   
                    range = sheet.get_Range("A1", Missing.Value);// 获取单个单元格
                    range.RowHeight = 20;           // 设置行高
                    range.ColumnWidth = 20;         // 设置列宽
                    range.Borders.LineStyle = 1;    // 设置单元格边框
                    range.Font.Bold = true;         // 加粗字体
                    range.Font.Size = 20;           // 设置字体大小
                    range.Font.ColorIndex = 5;      // 设置字体颜色
                    range.Interior.ColorIndex = 6; // 设置单元格背景色
                    range.HorizontalAlignment = XlHAlign.xlHAlignCenter;// 设置单元格水平居中
                    range.VerticalAlignment = XlVAlign.xlVAlignCenter;// 设置单元格垂直居中
                    range.Value2 = "设置行高和列宽";// 设置单元格的值
                    range = sheet.get_Range("B2", "D4");// 获取多个单元格
                    range.Merge(Missing.Value);         // 合并单元格
                    range.Columns.AutoFit();            // 设置列宽为自动适应
                    range.NumberFormatLocal = "#,##0.00";// 设置单元格格式为货币格式
            // 设置单元格左边框加粗
                    range.Borders[XlBordersIndex.xlEdgeLeft].Weight = XlBorderWeight.xlThick;
            // 设置单元格右边框加粗
                    range.Borders[XlBordersIndex.xlEdgeRight].Weight = XlBorderWeight.xlThick;
                    range.Value2 = "合并单元格";
                    // 页面设置
                    sheet.PageSetup.PaperSize = XlPaperSize.xlPaperA4;          // 设置页面大小为A4
                    sheet.PageSetup.Orientation = XlPageOrientation.xlPortrait; // 设置垂直版面
                    sheet.PageSetup.HeaderMargin = 0.0;                         // 设置页眉边距
                    sheet.PageSetup.FooterMargin = 0.0;                         // 设置页脚边距
                    sheet.PageSetup.LeftMargin = excel.InchesToPoints(0.354330708661417); // 设置左边距
                    sheet.PageSetup.RightMargin = excel.InchesToPoints(0.354330708661417);// 设置右边距
                    sheet.PageSetup.TopMargin = excel.InchesToPoints(0.393700787401575); // 设置上边距
                    sheet.PageSetup.BottomMargin = excel.InchesToPoints(0.393700787401575);// 设置下边距
                    sheet.PageSetup.CenterHorizontally = true;                  // 设置水平居中
                    // 打印文件
                    sheet.PrintOut(Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value);
                   
                    // 保存文件到程序运行目录下
                    sheet.SaveAs(Path.Combine(System.Windows.Forms.Application.StartupPath,"demo.xls"), Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value);
                    excel.ActiveWorkbook.Close(false, null, null); // 关闭 Excel 文件且不保存
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
                finally
                {
                    excel.Quit(); // 退出 Excel
                    excel = null; // 将 Excel 实例设置为空
                }
            }
        }
    }

  • 相关阅读:
    Codeforces A. Bear and Big Brother
    codeforces A. In Search of an Easy Problem
    c#判断两个对象和对象中的属性是否相同(以及记录对象中的哪些字段,和详细的改变情况)
    生成随机字符串
    SQL语句计算距离今天生日还差几天
    sqlServer 获取最新的一条数据
    c#所有部门及其下所部门生成树形图(递归算法获取或键值对方式获取)
    根据中文名,自动生成首字母的拼音码或拼音码(两种方法)
    char/varchar/nvarchar的区别
    c#中ofType的用法
  • 原文地址:https://www.cnblogs.com/junshijie/p/5292087.html
Copyright © 2011-2022 走看看