最近在做一个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);
原文:https://www.cnblogs.com/sinceret/p/14034657.html