public override void SetBackgroudColor(System.Drawing.Color color) { IWorkbook workbook = _npoiWorksheet.Workbook; ICellStyle cellStyle = workbook.CreateCellStyle(); cellStyle.CloneStyleFrom(_row.RowStyle); if (workbook is HSSFWorkbook) { HSSFWorkbook hssfWorkbook = (HSSFWorkbook)workbook; HSSFPalette palette = hssfWorkbook.GetCustomPalette(); //调色板实例 //palette.SetColorAtIndex((short)8, color.R, color.G, color.B); HSSFColor hssFColor = palette.FindSimilarColor(color.R, color.G, color.B); cellStyle.FillPattern = FillPattern.SolidForeground; cellStyle.FillForegroundColor = hssFColor.Indexed; } else { HSSFWorkbook hssfWorkbook = new HSSFWorkbook(); HSSFPalette palette = hssfWorkbook.GetCustomPalette(); //调色板实例 //palette.SetColorAtIndex((short)8, color.R, color.G, color.B); HSSFColor hssFColor = palette.FindSimilarColor(color.R, color.G, color.B); cellStyle.FillPattern = FillPattern.SolidForeground; cellStyle.FillForegroundColor = hssFColor.Indexed; //No way! } _row.RowStyle = cellStyle; }
/// <summary> /// create the colours for the COBie sheet /// </summary> /// <param name="colourName"></param> /// <param name="red"></param> /// <param name="green"></param> /// <param name="blue"></param> private void CreateColours(string colourName, byte red, byte green, byte blue) { IColor colour = null; if (IsXlsx) { byte[] rgb = new byte[3] { red, green, blue }; colour = new XSSFColor(rgb) as IColor; } else { HSSFPalette palette = ((HSSFWorkbook)ExcelWorkbook).GetCustomPalette(); colour = palette.FindSimilarColor(red, green, blue); if (colour == null) { // First 64 are system colours //srl this code does not work with the latest version of NPOI //if (NPOI.HSSF.Record.PaletteRecord.STANDARD_PALETTE_SIZE < 64 ) //{ // NPOI.HSSF.Record.PaletteRecord.STANDARD_PALETTE_SIZE = 64; //} //NPOI.HSSF.Record.PaletteRecord.STANDARD_PALETTE_SIZE++; colour = palette.AddColor(red, green, blue); } } _colours.Add(colourName, colour); }
private short GetXLColour(HSSFWorkbook workbook, System.Drawing.Color SystemColour) { short s = 0; HSSFPalette XlPalette = workbook.GetCustomPalette(); HSSFColor XlColour = XlPalette.FindColor(SystemColour.R, SystemColour.G, SystemColour.B); if (XlColour == null) { if (NPOI.HSSF.Record.PaletteRecord.STANDARD_PALETTE_SIZE < 255) { if (NPOI.HSSF.Record.PaletteRecord.STANDARD_PALETTE_SIZE < 64) { NPOI.HSSF.Record.PaletteRecord.STANDARD_PALETTE_SIZE = 64; NPOI.HSSF.Record.PaletteRecord.STANDARD_PALETTE_SIZE += 1; XlColour = XlPalette.AddColor(SystemColour.R, SystemColour.G, SystemColour.B); } else { XlColour = XlPalette.FindSimilarColor(SystemColour.R, SystemColour.G, SystemColour.B); } s = XlColour.GetIndex(); } } else { s = XlColour.GetIndex(); } return(s); }
/// <summary> /// 设置单元格样式 /// </summary> /// <param name="rownum"></param> /// <param name="isFill">是否填充背景色</param> /// <returns></returns> //private HSSFCellStyle SetStyle(int rownum,bool isFill) //{ // if (isFill) // { // if (rownum%2 == 0) // { // cellstyle.FillForegroundColor = HSSFColor.LIGHT_ORANGE.index; // } // else // cellstyle.FillForegroundColor = HSSFColor.SKY_BLUE.index; // cellstyle.FillPattern = FillPatternType.SOLID_FOREGROUND; // //cellstyle.FillBackgroundColor = HSSFColor.RED.index; // } // return cellstyle; //} /// <summary> /// 获取颜色 /// </summary> /// <param name="sysColor"></param> /// <returns></returns> private short GetColor(System.Drawing.Color sysColor) { short s = 0; HSSFPalette xlPalette = WorkBook.GetCustomPalette(); HSSFColor xlColor = xlPalette.FindColor(sysColor.R, sysColor.G, sysColor.B); if (xlColor == null) { if (NPOI.HSSF.Record.PaletteRecord.STANDARD_PALETTE_SIZE <= 255) { if (NPOI.HSSF.Record.PaletteRecord.STANDARD_PALETTE_SIZE < 64) { NPOI.HSSF.Record.PaletteRecord.STANDARD_PALETTE_SIZE = 64; NPOI.HSSF.Record.PaletteRecord.STANDARD_PALETTE_SIZE += 1; xlColor = xlPalette.AddColor(sysColor.R, sysColor.G, sysColor.B); } else { xlColor = xlPalette.FindSimilarColor(sysColor.R, sysColor.G, sysColor.B); } s = xlColor.GetIndex(); } } else { s = xlColor.GetIndex(); } return(s); }
/// <summary> /// 获取RGB对应NPOI颜色值 /// </summary> /// <param name="workbook">当前wb</param> /// <param name="R"></param> /// <param name="G"></param> /// <param name="B"></param> /// <returns></returns> public static short GetXLColour(this HSSFWorkbook workbook, int R, int G, int B) { short s = 0; HSSFPalette XlPalette = workbook.GetCustomPalette(); HSSFColor XlColour = XlPalette.FindColor((byte)R, (byte)G, (byte)B); if (XlColour == null) { if (NPOI.HSSF.Record.PaletteRecord.STANDARD_PALETTE_SIZE < 255) { if (NPOI.HSSF.Record.PaletteRecord.STANDARD_PALETTE_SIZE < 64) { NPOI.HSSF.Record.PaletteRecord.STANDARD_PALETTE_SIZE = 64; NPOI.HSSF.Record.PaletteRecord.STANDARD_PALETTE_SIZE += 1; XlColour = XlPalette.AddColor((byte)R, (byte)G, (byte)B); } else { XlColour = XlPalette.FindSimilarColor((byte)R, (byte)G, (byte)B); } s = XlColour.GetIndex(); } } else { s = XlColour.GetIndex(); } return(s); }
public override void SetFontColor(System.Drawing.Color color) { IWorkbook workbook = _npoiWorksheet.Workbook; ICellStyle cellStyle = workbook.CreateCellStyle(); if (workbook is HSSFWorkbook) { HSSFWorkbook hssfWorkbook = (HSSFWorkbook)workbook; HSSFPalette palette = hssfWorkbook.GetCustomPalette(); //调色板实例 //palette.SetColorAtIndex((short)8, color.R, color.G, color.B); HSSFColor hssFColor = palette.FindSimilarColor(color.R, color.G, color.B); cellStyle.CloneStyleFrom(_row.RowStyle); IFont font = cellStyle.GetFont(workbook); font.Color = hssFColor.Indexed; cellStyle.SetFont(font); _row.RowStyle = cellStyle; } else { //No way! } }
internal IColor CreateColor(string htmlColor) { Color color = ColorTranslator.FromHtml(htmlColor); byte[] array = new byte[] { color.R, color.G, color.B }; IColor result; switch (this.ExcelVersion) { case ExcelVersion.XLS: { HSSFPalette customPalette = this.ExcelXls.GetCustomPalette(); if (this._palleteColorSize >= 63) { HSSFColor hSSFColor = customPalette.FindColor(color.R, color.G, color.B); if (hSSFColor == null) { hSSFColor = customPalette.FindSimilarColor(color.R, color.G, color.B); } short?palleteColorSize = this._palleteColorSize; this._palleteColorSize = (palleteColorSize.HasValue ? new short?((short)(palleteColorSize.GetValueOrDefault() + 1)) : null); result = hSSFColor; } else { if (!this._palleteColorSize.HasValue) { this._palleteColorSize = new short?(8); } else { short?palleteColorSize = this._palleteColorSize; this._palleteColorSize = (palleteColorSize.HasValue ? new short?((short)(palleteColorSize.GetValueOrDefault() + 1)) : null); } customPalette.SetColorAtIndex(this._palleteColorSize.Value, color.R, color.G, color.B); HSSFColor hSSFColor = customPalette.GetColor(this._palleteColorSize.Value); result = hSSFColor; } break; } case ExcelVersion.XLSX: result = new XSSFColor(color); break; default: throw new Exception(ErrorMessage.Excel_BadVersion); } return(result); }
public void TestFindSimilar() { HSSFWorkbook book = new HSSFWorkbook(); HSSFPalette p = book.GetCustomPalette(); // Add a few edge colours in p.SetColorAtIndex((short)8, unchecked ((byte)-1), (byte)0, (byte)0); p.SetColorAtIndex((short)9, (byte)0, unchecked ((byte)-1), (byte)0); p.SetColorAtIndex((short)10, (byte)0, (byte)0, unchecked ((byte)-1)); // And some near a few of them p.SetColorAtIndex((short)11, unchecked ((byte)-1), (byte)2, (byte)2); p.SetColorAtIndex((short)12, unchecked ((byte)-2), (byte)2, (byte)10); p.SetColorAtIndex((short)13, unchecked ((byte)-4), (byte)0, (byte)0); p.SetColorAtIndex((short)14, unchecked ((byte)-8), (byte)0, (byte)0); Assert.AreEqual( "FFFF:0:0", p.GetColor((short)8).GetHexString() ); // Now Check we get the right stuff back Assert.AreEqual( p.GetColor((short)8).GetHexString(), p.FindSimilarColor(unchecked ((byte)-1), (byte)0, (byte)0).GetHexString() ); Assert.AreEqual( p.GetColor((short)8).GetHexString(), p.FindSimilarColor(unchecked ((byte)-2), (byte)0, (byte)0).GetHexString() ); Assert.AreEqual( p.GetColor((short)8).GetHexString(), p.FindSimilarColor(unchecked ((byte)-1), (byte)1, (byte)0).GetHexString() ); Assert.AreEqual( p.GetColor((short)11).GetHexString(), p.FindSimilarColor(unchecked ((byte)-1), (byte)2, (byte)1).GetHexString() ); Assert.AreEqual( p.GetColor((short)12).GetHexString(), p.FindSimilarColor(unchecked ((byte)-1), (byte)2, (byte)10).GetHexString() ); book.Close(); }
public static ICellStyle GetFontColorStyle(IWorkbook workbook, ExcelFontColor colorType) { var hwb = new HSSFWorkbook(); HSSFPalette palette = hwb.GetCustomPalette(); HSSFColor myColor = new HSSFColor(); switch (colorType) { case ExcelFontColor.Red: myColor = palette.FindSimilarColor(250, 0, 0); //#FF0000 break; case ExcelFontColor.Blue: myColor = palette.FindSimilarColor(1, 75, 162); //#014BA2 break; case ExcelFontColor.Green: myColor = palette.FindSimilarColor(0, 100, 33); //#006421 break; case ExcelFontColor.Gray: myColor = palette.FindSimilarColor(164, 164, 164); //#A4A4A4 break; default: break; } short palIndex = myColor.Indexed; IFont fontStyle = workbook.CreateFont(); fontStyle.FontName = "微软雅黑"; fontStyle.Color = palIndex; fontStyle.FontHeightInPoints = 10; var cellStyle = CreateBorderedStyle(workbook); cellStyle.SetFont(fontStyle); return(cellStyle); }
/// <summary> /// 获取颜色值 /// </summary> /// <param name="color">颜色RGB</param> /// <param name="workbook">Excel画布</param> /// <returns></returns> public static string GetColorIndex(HSSFWorkbook workbook, Color color) { HSSFPalette palette = workbook.GetCustomPalette(); var v = palette.FindSimilarColor(color.R, color.G, color.B); if (v == null) { throw new Exception("Color is not in Palette"); } else { return(v.GetHexString()); } }
private static short GetXlColour(HSSFWorkbook workbook, Color systemColor) { short s = 0; HSSFPalette xlPalette = workbook.GetCustomPalette(); NPOI.HSSF.Util.HSSFColor xlColour = xlPalette.FindColor(systemColor.R, systemColor.G, systemColor.B); if (xlColour == null) { xlColour = xlPalette.FindSimilarColor(systemColor.R, systemColor.G, systemColor.B); s = xlColour.Indexed; } else { s = xlColour.Indexed; } return(s); }
/// <summary> /// 获取Xls颜色 /// </summary> /// <param name="workbook">工作簿</param> /// <param name="color">系统颜色</param> /// <returns></returns> public static short GetXlsColour(this HSSFWorkbook workbook, Color color) { short s = 0; HSSFPalette palette = workbook.GetCustomPalette(); //调色板实例 HSSFColor hssfColor = palette.FindColor(color.R, color.G, color.B); if (hssfColor == null) { hssfColor = palette.FindSimilarColor(color.R, color.G, color.B); s = hssfColor.Indexed; } else { s = hssfColor.Indexed; } return(s); }
private void CreateColours(string colourName, byte red, byte green, byte blue) { HSSFPalette palette = XlsWorkbook.GetCustomPalette(); HSSFColor colour = palette.FindSimilarColor(red, green, blue); if (colour == null) { // First 64 are system colours //srl this code does not work with the latest version of NPOI //if (NPOI.HSSF.Record.PaletteRecord.STANDARD_PALETTE_SIZE < 64 ) //{ // NPOI.HSSF.Record.PaletteRecord.STANDARD_PALETTE_SIZE = 64; //} //NPOI.HSSF.Record.PaletteRecord.STANDARD_PALETTE_SIZE++; colour = palette.AddColor(red, green, blue); } _colours.Add(colourName, colour); }
private HSSFColor GetColor(HSSFWorkbook workbook, byte red, byte green, byte blue) { HSSFPalette palette = workbook.GetCustomPalette(); HSSFColor colour = palette.FindSimilarColor(red, green, blue); if (colour == null) { // NPOI.HSSF.Record.PaletteRecord.STANDARD_PALETTE_SIZE is now const... //// First 64 are system colours //if (NPOI.HSSF.Record.PaletteRecord.STANDARD_PALETTE_SIZE < 64) //{ // NPOI.HSSF.Record.PaletteRecord.STANDARD_PALETTE_SIZE = 64; //} //NPOI.HSSF.Record.PaletteRecord.STANDARD_PALETTE_SIZE++; colour = palette.AddColor(red, green, blue); } return(colour); }
private static short GetXLColour(HSSFWorkbook workbook, Color SystemColour) { short s = 0; HSSFPalette XlPalette = workbook.GetCustomPalette(); NPOI.HSSF.Util.HSSFColor XlColour = XlPalette.FindColor(SystemColour.R, SystemColour.G, SystemColour.B); if (XlColour == null) { if (NPOI.HSSF.Record.PaletteRecord.STANDARD_PALETTE_SIZE < 255) { XlColour = XlPalette.FindSimilarColor(SystemColour.R, SystemColour.G, SystemColour.B); s = XlColour.Indexed; } } else { s = XlColour.Indexed; } return(s); }
void Test() { filePath = "E:/MyWork/test.xls"; wk = new HSSFWorkbook(); sheet = wk.CreateSheet("mySheet"); HSSFWorkbook hssfWorkbook = new HSSFWorkbook(); //工作簿实例 HSSFPalette palette = hssfWorkbook.GetCustomPalette(); //调色板实例 //palette.SetColorAtIndex((short)8, (byte)0, (byte)200, (byte)0); //PaletteRecord p = new PaletteRecord(); PaletteRecord p = new PaletteRecord(); //调色板实例 //HSSFPalette palette = workbookAll.GetCustomPalette(); //RGB颜色值,第一个值:8~64之间,后面三个值为RGB色值 //palette.SetColorAtIndex((short)8, 179, 179, 179); //颜色实例 //HSSFColor hSSFColor = palette.FindColor(179, 179, 179); //style.FillPattern = CellFillPattern.SOLID_FOREGROUND; //应用颜色到Style //style.FillForegroundColor = hSSFColor.GetIndex(); //List<HSSFColor> colors = new List<HSSFColor>(); Dictionary <int, ICellStyle> colDic = new Dictionary <int, ICellStyle>(); for (int i = 0; i < size; i++) { row = sheet.CreateRow(i); for (int j = 0; j < size / 4; j++) { cell = row.CreateCell(j); //cell.SetCellValue(i + "-" + j); Color col = texture.GetPixel(j * 4, size - i); //Color col = GetArvCol(j * 4, size - i); //if(col.a <= 0.1f) //{ //} short similarColor = palette.FindSimilarColor((byte)(col.r * 255), (byte)(col.g * 255), (byte)(col.b * 255)).Indexed; //透明的地方用白色 if (col.a <= 0.1f) { similarColor = 9; } //Debug.LogError(similarColor.Indexed); if (!colDic.ContainsKey(similarColor)) { ICellStyle s = wk.CreateCellStyle(); colDic.Add(similarColor, s); s.FillForegroundColor = similarColor; s.FillPattern = FillPattern.SolidForeground; cell.CellStyle = s; } else { ICellStyle s = colDic[similarColor]; s.FillForegroundColor = similarColor; s.FillPattern = FillPattern.SolidForeground; cell.CellStyle = s; } //ICellStyle s = wk.CreateCellStyle(); //s.FillForegroundColor = palette.FindSimilarColor((byte)(col.r * 255), (byte)(col.g * 255), (byte)(col.b * 255)).Indexed; //s.FillPattern = FillPattern.SolidForeground; //cell.CellStyle = s; } } fs = File.Create(filePath); wk.Write(fs); fs.Close(); fs.Dispose(); Debug.Log("创建表格成功"); }
private void button1_Click(object sender, EventArgs e) { string fileName; //fileName = System.IO.Path.GetDirectoryName(sourceFileTexBox.Text) + "\\"; fileName = "list_" + System.IO.Path.GetFileName(sourceFileTexBox.Text); fileName += ".xls"; SaveFileDialog saveFileDia = new SaveFileDialog(); saveFileDia.Filter = "Excel文件|*.xls"; saveFileDia.FileName = fileName; DialogResult result = saveFileDia.ShowDialog(); if (DialogResult.OK == result) { fileName = saveFileDia.FileName; if (File.Exists(fileName)) { MessageBox.Show("目标文件已经存在!", "错误"); return; } try { IWorkbook wb = new HSSFWorkbook(); ISheet tb = wb.CreateSheet(System.IO.Path.GetFileName(sourceFileTexBox.Text)); tb.DisplayGridlines = false; tb.CreateRow(5).CreateCell(29).SetCellValue("備考"); tb.GetRow(5).CreateCell(3).SetCellValue("No."); tb.GetRow(5).CreateCell(5).SetCellValue("関数名"); tb.GetRow(5).CreateCell(17).SetCellValue("テスト方法"); ICellStyle bg = (HSSFCellStyle)wb.CreateCellStyle(); IFont ft = wb.CreateFont(); ft.Color = NPOI.HSSF.Util.HSSFColor.White.Index; bg.SetFont(ft); HSSFWorkbook wob = new HSSFWorkbook(); HSSFPalette pa = wob.GetCustomPalette(); NPOI.HSSF.Util.HSSFColor XlColour = pa.FindSimilarColor(23, 55, 93); bg.FillForegroundColor = XlColour.Indexed; //15000; bg.FillPattern = FillPattern.SolidForeground; tb.CreateRow(3); for (int i = 0; i < 50; i++) { tb.GetRow(3).CreateCell(i).CellStyle = bg; } tb.GetRow(3).GetCell(1).SetCellValue(System.IO.Path.GetFileName(sourceFileTexBox.Text)); ICellStyle Border3 = (HSSFCellStyle)wb.CreateCellStyle(); Border3.BorderTop = NPOI.SS.UserModel.BorderStyle.Thick; Border3.BorderLeft = NPOI.SS.UserModel.BorderStyle.Thick; Border3.BorderBottom = NPOI.SS.UserModel.BorderStyle.Thin; tb.GetRow(5).GetCell(3).CellStyle = Border3; ICellStyle Border2 = (HSSFCellStyle)wb.CreateCellStyle(); Border2.BorderTop = NPOI.SS.UserModel.BorderStyle.Thick; Border2.BorderBottom = NPOI.SS.UserModel.BorderStyle.Thin; ICellStyle Border4 = (HSSFCellStyle)wb.CreateCellStyle(); Border4.BorderTop = NPOI.SS.UserModel.BorderStyle.Thick; Border4.BorderLeft = NPOI.SS.UserModel.BorderStyle.Thin; Border4.BorderBottom = NPOI.SS.UserModel.BorderStyle.Thin; ICellStyle Border5 = (HSSFCellStyle)wb.CreateCellStyle(); Border5.BorderTop = NPOI.SS.UserModel.BorderStyle.Thick; Border5.BorderRight = NPOI.SS.UserModel.BorderStyle.Thick; Border5.BorderBottom = NPOI.SS.UserModel.BorderStyle.Thin; ICellStyle Border6 = (HSSFCellStyle)wb.CreateCellStyle(); Border6.BorderTop = NPOI.SS.UserModel.BorderStyle.Thin; Border6.BorderLeft = NPOI.SS.UserModel.BorderStyle.Thick; Border6.BorderBottom = NPOI.SS.UserModel.BorderStyle.Thin; ICellStyle Border7 = (HSSFCellStyle)wb.CreateCellStyle(); Border7.BorderTop = NPOI.SS.UserModel.BorderStyle.Thin; Border7.BorderLeft = NPOI.SS.UserModel.BorderStyle.Thin; Border7.BorderBottom = NPOI.SS.UserModel.BorderStyle.Thin; ICellStyle Border8 = (HSSFCellStyle)wb.CreateCellStyle(); Border8.BorderTop = NPOI.SS.UserModel.BorderStyle.Thin; Border8.BorderRight = NPOI.SS.UserModel.BorderStyle.Thick; Border8.BorderBottom = NPOI.SS.UserModel.BorderStyle.Thin; ICellStyle Border9 = (HSSFCellStyle)wb.CreateCellStyle(); Border9.BorderTop = NPOI.SS.UserModel.BorderStyle.Thin; Border9.BorderLeft = NPOI.SS.UserModel.BorderStyle.Thick; Border9.BorderBottom = NPOI.SS.UserModel.BorderStyle.Thick; ICellStyle Border10 = (HSSFCellStyle)wb.CreateCellStyle(); Border10.BorderTop = NPOI.SS.UserModel.BorderStyle.Thin; Border10.BorderBottom = NPOI.SS.UserModel.BorderStyle.Thick; ICellStyle Border11 = (HSSFCellStyle)wb.CreateCellStyle(); Border11.BorderTop = NPOI.SS.UserModel.BorderStyle.Thin; Border11.BorderLeft = NPOI.SS.UserModel.BorderStyle.Thin; Border11.BorderBottom = NPOI.SS.UserModel.BorderStyle.Thick; ICellStyle Border12 = (HSSFCellStyle)wb.CreateCellStyle(); Border12.BorderTop = NPOI.SS.UserModel.BorderStyle.Thin; Border12.BorderRight = NPOI.SS.UserModel.BorderStyle.Thick; Border12.BorderBottom = NPOI.SS.UserModel.BorderStyle.Thick; tb.GetRow(5).CreateCell(4).CellStyle = Border2; tb.GetRow(5).GetCell(5).CellStyle = Border4; for (int i = 6; i < 17; i++) { tb.GetRow(5).CreateCell(i).CellStyle = Border2; } tb.GetRow(5).GetCell(17).CellStyle = Border4; for (int i = 18; i < 29; i++) { tb.GetRow(5).CreateCell(i).CellStyle = Border2; } tb.GetRow(5).GetCell(29).CellStyle = Border4; for (int i = 30; i < 41; i++) { tb.GetRow(5).CreateCell(i).CellStyle = Border2; } tb.GetRow(5).CreateCell(41).CellStyle = Border5; ICellStyle Border1 = (HSSFCellStyle)wb.CreateCellStyle(); Border1.BorderTop = NPOI.SS.UserModel.BorderStyle.Thin; Border1.BorderBottom = NPOI.SS.UserModel.BorderStyle.Thin; int lastline = 6; for (int i = 0; i < funcListBox.SelectedItems.Count; i++) { tb.CreateRow(6 + i).CreateCell(5).SetCellValue(funcListBox.SelectedItems[i].ToString()); tb.GetRow(6 + i).CreateCell(3).SetCellValue(" " + (i + 1).ToString()); tb.GetRow(6 + i).GetCell(3).CellStyle = Border6; tb.GetRow(6 + i).CreateCell(4).CellStyle = Border1; tb.GetRow(6 + i).GetCell(5).CellStyle = Border7; for (int j = 6; j < 17; j++) { tb.GetRow(6 + i).CreateCell(j).CellStyle = Border1; } tb.GetRow(6 + i).CreateCell(17).CellStyle = Border7; for (int j = 18; j < 29; j++) { tb.GetRow(6 + i).CreateCell(j).CellStyle = Border1; } tb.GetRow(6 + i).CreateCell(29).CellStyle = Border7; for (int j = 30; j < 41; j++) { tb.GetRow(6 + i).CreateCell(j).CellStyle = Border1; } tb.GetRow(6 + i).CreateCell(41).CellStyle = Border8; lastline += 1; } tb.CreateRow(lastline).CreateCell(3).CellStyle = Border9; tb.GetRow(lastline).CreateCell(4).CellStyle = Border10; tb.GetRow(lastline).CreateCell(5).CellStyle = Border11; for (int j = 6; j < 17; j++) { tb.GetRow(lastline).CreateCell(j).CellStyle = Border10; } tb.GetRow(lastline).CreateCell(17).CellStyle = Border11; for (int j = 18; j < 29; j++) { tb.GetRow(lastline).CreateCell(j).CellStyle = Border10; } tb.GetRow(lastline).CreateCell(29).CellStyle = Border11; for (int j = 30; j < 41; j++) { tb.GetRow(lastline).CreateCell(j).CellStyle = Border10; } tb.GetRow(lastline).CreateCell(41).CellStyle = Border12; for (int i = 0; i < 50; i++) { tb.SetColumnWidth(i, 1024); } using (FileStream fs = File.OpenWrite(fileName)) { wb.Write(fs); } } catch (Exception ex) { MessageBox.Show(ex.ToString()); return; } MessageBox.Show("生成成功!", "成功"); } }