2010-10-28 151 views
0

我试图从一个工作簿表单复制一些单元格到另一个工作簿表单,并保留使用C#的样式和格式。从Excel电子表格获取单元格样式与C#

我可以得到的属性一一这样的:

string fontName = ((Excel.Range) workSheet.Cells[3, 2]).Font.Name.ToString(); 

但是我在路找得到它的一次。谢谢

回答

1

如果您使用Range.Copy Destination:=方法通过剪贴板复制单元格,则会复制内容和格式。如果你只是想复制格式使用。复制然后.PasteSpecial格式

+0

谢谢。这是很正确的方向。 Range1.PasteSpecial(XlPasteType.xlPasteAll,XlPasteSpecialOperation.xlPasteSpecialOperationNone,Type.Missing,Type.Missing)将产生一张看起来应该是的图片,但是,它不应该是一张图片。如果我将PasteType更改为xlPasteColumnWidth,它看起来是正确的,但高度和宽度完全关闭。任何消化? – zmaster 2010-11-02 09:01:31

+0

如果要将单元格内容和格式从一个位置复制到另一个位置,请不要使用pastespecial,只需使用Range对象的Copy方法和Destination参数 - Worksheets(“Sheet1”)。Range(“A1: D4“)复制 目标:=工作表(”Sheet2“)。范围(”E5“) 如果您只想复制格式但不复制内容,请使用复制和粘贴专用工作表(”Sheet1“)。 :C5“)。复制 工作表(”Sheet1“)。范围(”D1:D5“)。PasteSpecial _ 操作:= xlPasteSpecialFormats End With – 2010-11-02 10:50:26

+0

当我使用复制方法时出现错误。认为这与我使用多个工作簿和工作表有关。我最终使用了一个黑客使用PasteSpecial(XlPasteType.xlPasteColumnWidths,XlPasteSpecialOperation.xlPasteSpecialOperationNone,Type.Missing,Type.Missing);并手动设置ColumnWidth和RowHeight。丑,但它的作品。谢谢您的帮助。 – zmaster 2010-11-05 12:00:22

相关问题