2010-10-28 101 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

相關問題