• C#导出Excel和相关打印设置


    Excel.Application myExcel = new Excel.Application();
    Excel.Workbook workbookData = myExcel.Application.Workbooks.Add(Excel.XlWBATemplate.xlWBATWorksheet);
    Excel.Worksheet xlSheet = (Worksheet)workbookData.Worksheets[1];//取得sheet1

    1) 显示当前窗口: xlSheet.Visible = True;
    2) 更改 Excel 标题栏: xlSheet.Caption = '应用程序调用 Microsoft Excel';
    3) 添加新工作簿: xlSheet.WorkBooks.Add;
    4) 打开已存在的工作簿: xlSheet.WorkBooks.Open( 'd:/Demo.xls' );
    5) 设置第2个工作表为活动工作表: xlSheet.WorkSheets[2].Activate; 
    或 xlSheet.WorksSheets[ 'Sheet2' ].Activate;
    6) 给单元格赋值:xlSheet.Cells[1,4].Value = 'http://blog.soso.com/qz.q/第一行第四列';
    xlSheet.Cells(2,j+1).Interior.Color = 50000 ;//设置单元格背景颜色
    7) 设置指定列的宽度(单位:字符个数),以第一列为例: xlSheet.Columns[1].ColumnsWidth = 5; 
    8) 设置指定行的高度(单位:磅)(1磅=0.035厘米),以第二行为例: xlSheet.Rows[2].RowHeight = 1/0.035; // 1厘米 
    9) 在第8行之前插入分页符: xlSheet.WorkSheets[1].Rows[8].PageBreak = 1; 
    10) 在第8列之前删除分页符: xlSheet.Columns[4].PageBreak = 0; 
    11) 指定边框线宽度: xlSheet.Range[ 'B3:D4' ].Borders[2].Weight = 3; 1-左 2-右 3-顶 4-底 5-斜( / ) 6-斜( / ) 
    12) 清除第一行第四列单元格公式: xlSheet.Cells[1,4].ClearContents; 
    13) 设置第一行字体属性: 
    xlSheet.Rows[1].Font.Name = '隶书'; 
    xlSheet.Rows[1].Font.Color = clBlue; 
    xlSheet.Rows[1].Font.Bold = True; 
    xlSheet.Rows[1].Font.UnderLine = True; 
    xlSheet.Range("A1:G1").Merge(); //合并单元格 
    14) 进行页面设置: 
    xlSheet.PageSetup.FirstPageNumber=1;/ /从首页开始打印 
    xlSheet.PageSetup.Orientation=2;//设置为横向打印 
    xlSheet.PageSetup.PrintTitleRows = "$2:$2";//固定打印表头 
    a.页眉: 注:这里要注意,如果是Wps ET,Margin的单位默认为像素,要注意一下所给的值,别超出合理范围;而Excel单位默认为字符数; xlSheet.PageSetup.CenterHeader = '报表演示';
    b.页脚: xlSheet.PageSetup.CenterFooter = '第&P页---------共(&N)页'; 
    c.页眉到顶端边距2cm: xlSheet.PageSetup.HeaderMargin = 2/0.035; 
    d.页脚到底端边距3cm: xlSheet.PageSetup.HeaderMargin = 3/0.035; 
    e.顶边距2cm: xlSheet.PageSetup.TopMargin = 2/0.035; 
    f.底边距2cm: xlSheet.PageSetup.BottomMargin = 2/0.035; 
    g.左边距2cm: xlSheet.PageSetup.LeftMargin = 2/0.035; 
    h.右边距2cm: xlSheet.PageSetup.RightMargin = 2/0.035; 
    i.页面水平居中: xlSheet.PageSetup.CenterHorizontally = 2/0.035; 
    j.页面垂直居中: xlSheet.PageSetup.CenterVertically = 2/0.035; 
    k.打印单元格网线: xlSheet.PageSetup.PrintGridLines = True; 
    15) 拷贝操作: 
    a.拷贝整个工作表: xlSheet.Used.Range.Copy; 
    b.拷贝指定区域: xlSheet.Range[ 'A1:E2' ].Copy; 
    c.从A1位置开始粘贴: xlSheet.Range.[ 'A1' ].PasteSpecial; 
    d.从文件尾部开始粘贴: xlSheet.Range.PasteSpecial; 
    16) 插入一行或一列: 
    a. xlSheet.Rows[2].Insert; 
    b. xlSheet.Columns[1].Insert; 
    17) 删除一行或一列: 
    a. xlSheet.Rows[2].Delete; 
    b. xlSheet.Columns[1].Delete; 
    18) 打印预览工作表: xlSheet.PrintPreview; 
    19) 打印输出工作表: xlSheet.PrintOut; 
    20) 工作表另存为: workbookData.Saved = true;
    xlSheet.SaveAs(filename, missing, missing, missing, missing, missing, missing, missing, missing, missing);
    21) 关闭工作簿: workbookData.Close(false, missing, missing);
    22) 退出 Excel: myExcel.Quit();

    在C#中如何对Excel单元格设置背景色以及对Range设边框

     
    private Excel.Application objApp;
    private Excel.Sheets objSheets;
    private Excel._Worksheet objSheet;
    private Excel.Range range;
    objApp = new Excel.Application();
    objSheet = (Excel._Worksheet)objSheets.get_Item(1);

    /// <summary>
    /// 设置单元格的背景色---多个连接的单元格
    /// </summary>
    /// <param name="sRow">开始行</param>
    /// <param name="sCol">开始列</param>
    /// <param name="eRow">结束行</param>
    /// <param name="eCol">结束列</param>
    /// <param name="colorIndex">颜色的索引</param>
    public void SetRangeBackground(int sRow,int sCol,int eRow,int eCol,int colorIndex)
    {
    range=objSheet.get_Range(objSheet.Cells[sRow,sCol],objSheet.Cells[eRow,eCol]);
    range.Interior.ColorIndex=colorIndex;
    }
    /// <summary>
    /// 设置单元格的线
    /// </summary>
    public void SetBorderLine(int sRow,int sCol,int eRow,int eCol)
    {
    range=objSheet.get_Range(objSheet.Cells[sRow,sCol],objSheet.Cells[eRow,eCol]);
    range.Cells.Borders.LineStyle=1;

    }

    设置边框颜色:sheet.Cells[startRow, 2].Borders.Color = 0x0000ff;//这个是红色,x后前两个0是蓝色,中间两个0是绿色,最后两个是红色~~

    设置制定边框:sheet.Range[sheet.Cells[1, 2], sheet.Cells[1 ,30]].Borders[4].LineStyle = 1;

    Border[4]是指下边框,3是指上边框,1是左,2是右~~填成0会报错.不加中括号是全部的边框~~~

    Excel里设置颜色的时候:ColorIndex,不能用Color(我汗).在网上找到的这个图,不用自己去一个个试了

    来个改背景色的例子:sheet.Cells[startRow, 25].Interior.ColorIndex = 4;

    合并单元格:r=ws.get_Range(ws.Cells[1,1],ws.Cells[1,6]);     //取得合并的区域 
    r.MergeCells=true;

    C#调用Excel时删除Sheet的小问题

     用C#调Excel对象的Worksheets.Delete进行删除某个文件中的Sheet时始终无法实现。后来发现问题所在:

    默认情况下,Appliation.Open文件时visible为false,在无宏的情况下只会在后台进行操作,不在前台打开页面。这种情况下,如果只调用Delete来删除,会弹出确认删除的对话框,但是由于是后台操作无法看见这个对话框,所以始终删除没有完成。将visible时才发现问题所在。

    解决方法,不弹出这个提示框,workbook.displayalerts = false ,即可。(注:此处的workbook是Application)

  • 相关阅读:
    spark性能调优 数据倾斜 内存不足 oom解决办法
    python2的中文编码
    spark UDF函数
    spark cache table
    spark 创建稀疏向量和矩阵
    mysql 分组排序
    给pyspark 设置新的环境
    CF662C Binary Table
    bzoj 4310 跳蚤
    3.29省选模拟赛 除法与取模 dp+组合计数
  • 原文地址:https://www.cnblogs.com/sunyujing/p/4079221.html
Copyright © 2020-2023  润新知