【只争朝夕】

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

 最近在做一个excel合并的功能,使用epplus,当涉及到复制格式时困扰了好久,终于搞好了,记录下。

    ExcelRange cOld = stOld.Cells[r, c];
    ExcelRange cNew = stNew.Cells[irow, c];
cNew.Value
= cOld.Value; //1.这样笨笨的挨个属性复制根本不好使 //cNew.Style.Border = cOld.Style.Border; //cNew.Style.Fill = cOld.Style.Fill; //cNew.Style.Font = cOld.Style.Font; //cNew.Style.Hidden = cOld.Style.Hidden; //cNew.Style.HorizontalAlignment = cOld.Style.HorizontalAlignment; //cNew.Style.Indent = cOld.Style.Indent; //cNew.Style.Locked = cOld.Style.Locked; //cNew.Style.Numberformat = cOld.Style.Numberformat; //cNew.Style.QuotePrefix = cOld.Style.QuotePrefix; //cNew.Style.ShrinkToFit = cOld.Style.ShrinkToFit; //cNew.Style.TextRotation = cOld.Style.TextRotation; //cNew.Style.VerticalAlignment = cOld.Style.VerticalAlignment; //cNew.Style.WrapText = cOld.Style.WrapText; //2.在同一个workbook下可以这样做,但是跨表的话,有可能两个表里StyleID值一样,但是其实含义不一样 //这样就有可能复制失败,如Old中StyleID=1表示红色,但是New中StyleID表示蓝色,那么只复制id,就会
//把本来
是红色的单元格复制成蓝色的 //cNew.StyleID = cOld.StyleID; //3.先克隆旧表中的样式,再把它的StyleID赋给新表,这样就可以了! cNew.StyleID = wkNew.Workbook.Styles.CloneStyle(wkOld.Workbook.Styles, cOld.StyleID);

 

posted on 2020-11-25 10:49  【只争朝夕】  阅读(1038)  评论(0编辑  收藏  举报