zoukankan      html  css  js  c++  java
  • C#在窗体中嵌入Excel 有关字体,对齐 加边框 自动设置列 等操作

    有关格式的问题,可以先打开excel ,录制宏,生成VB代码,再转换成C#语言,

    1 设置字体大小

    oSheet.get_Range("A" + (nFillRow).ToString(), strCol + "1").Font.Size =18;

    2 根据列的大小(int型 )得到对应的列名

    //// 取得列名
    // 通常字段数不会太多,所以到 26*5 目前已经够了。
            private string GetColName(int iColNum)
            {
                  string  strColNames = "A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,AA,"
                      +"AB,AC,AD,AE,AF,AG,AH,AI,AJ,AK,AL,AM,AN,AO,AP,AQ,AR,AS,AT,AU,AV,AW,AX,AY,AZ,"
                      +"BA,BB,BC,BD,BE,BF,BG,BH,BI,BJ,BK,BL,BM,BN,BO,BP,BQ,BR,BS,BT,BU,BV,BW,BX,BY,BZ,"
                      +"CA,CB,CC,CD,CE,CF,CG,CH,CI,CJ,CK,CL,CM,CN,CO,CP,CQ,CR,CS,CT,CU,CV,CW,CX,CY,CZ," 
                     +"DA,DB,DC,DD,DE,DF,DG,DH,DI,DJ,DK,DL,DM,DN,DO,DP,DQ,DR,DS,DT,DU,DV,DW,DX,DY,DZ";
                string []ss=strColNames .Split(new char []{','});
                return ss[iColNum - 1];

      }

    3、根据每一列的内容,设置合适的列宽(列宽比每一列的最大值大一点点就可以了)

                    for(int i=0;i<nRow ;i++)
                        for(int j=0;j<nCol ;j++)
                            iWeights[i, j] = ss[i, j].Length;//得到各单元格的长度
                   iColoumn[0] = 0;

                    for (int m = 0; m < nCol; m++)
                    {
                       for (int k = 0; k < nRow ; k++)
                       if (iWeights[k , m] >  iColoumn[m] )
                        iColoumn[m] = iWeights[k , m];//得到各列最大值,
                    }
                      if (bSetColoumnWeight == true)
                      {
                          for (int c = 0; c < nCol; c++)
                          {
                            string strColoumn = GetColName(c + 1);
                            oSheet.get_Range(strColoumn + "1", strColoumn + "2").ColumnWidth = iColoumn[c] + 3;  //设置每列宽度比它本身的数字大3个位置噢

                          }
                      }

    4、给选中的范围加边框 、样式 
         oRange = oSheet.get_Range("A1", "e6");
         oRange.Borders.Weight = 2;
          oRange.Borders.get_Item(XlBordersIndex.xlEdgeBottom).LineStyle  =  Excel.XlLineStyle.xlContinuous;       

     // range.Interior.Pattern = Excel.XlPattern.xlPatternCrissCross;  加样式

    5、内容居中对齐

        StringRange1.HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter;
       // StringRange1.HorizontalAlignment = HorizontalAlignment.Center; //开始用此句,不行啊

     

    Code

     

     


               

     

  • 相关阅读:
    WINDOWS 修改ROUTE命令
    SQL Server 索引 之 书签查找 <第十一篇>
    SQL Server索引的维护
    SQL Server索引语法 <第四篇>
    SQL Server索引 (原理、存储)聚集索引、非聚集索引、堆 <第一篇>
    SQL Server
    开发反模式
    开发反模式(GUID)
    开发反模式
    SQLServer 窗口函数
  • 原文地址:https://www.cnblogs.com/lhjhl/p/1294067.html
Copyright © 2011-2022 走看看