轉(zhuǎn)帖|其它|編輯:郝浩|2011-10-27 13:36:32.000|閱讀 529 次
概述:在用Excel作報(bào)表的時(shí)候,可能會碰到分頁的情況,這樣就要分成多個(gè)Sheet顯示,如果要在每頁都保留表頭,就需要將第一頁作為模板設(shè)計(jì)的表頭部分拷貝到其他的Sheet上,這時(shí)就要用用到Excel中的單元格拷貝。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
在用Excel作報(bào)表的時(shí)候,可能會碰到分頁的情況,這樣就要分成多個(gè)Sheet顯示,如果要在每頁都保留表頭,就需要將第一頁作為模板設(shè)計(jì)的表頭部分拷貝到其他的Sheet上,這時(shí)就要用到Excel中的單元格拷貝。
下面的代碼說明如何一個(gè)Sheet上的選定內(nèi)容拷貝到另一個(gè)Sheet上:
ThisApplication = new Excel.Application();
ThisWorkbook = ThisApplication.Workbooks.Open("z:\\Book1.xls", Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
ThisApplication.DisplayAlerts = false;
xlSheet = (Excel.Worksheet)ThisWorkbook.Worksheets.get_Item(1);
Excel.Range range = xlSheet.get_Range("A1", Type.Missing);
range.Value = "123";
Excel.Worksheet sheet1 = (Excel.Worksheet)ThisWorkbook.Worksheets.get_Item(2);
Excel.Range range1 = sheet1.get_Range("B1", Type.Missing);
range.Copy(range1);
ThisWorkbook.SaveAs("z:\\Book2.xls", Type.Missing, Type.Missing,
Type.Missing, Type.Missing, Type.Missing, Excel.XlSaveAsAccessMode.xlNoChange,
Type.Missing, Type.Missing, Type.Missing, Type.Missing);
可以看到,核心的代碼是很簡單的,就是選定一個(gè)源區(qū)域,然后指定另一個(gè)目標(biāo)區(qū)域,調(diào)用源區(qū)域的Copy方法將內(nèi)容整個(gè)復(fù)制到目標(biāo)區(qū)域,但是你會發(fā)現(xiàn)是連單元格的格式等屬性一并拷貝過去的,如果要只拷貝單元格中的文本呢?那就要用到windows剪貼板了:
xlSheet = (Excel.Worksheet)ThisWorkbook.Worksheets.get_Item(1);
Excel.Range range = xlSheet.get_Range("A1", Type.Missing);
range.Value = "123";
System.Windows.Forms.Clipboard.SetDataObject(range.Value.ToString());
Excel.Worksheet sheet1 = (Excel.Worksheet)ThisWorkbook.Worksheets.get_Item(2);
Excel.Range range1 = sheet1.get_Range("B1", Type.Missing);
sheet1.Paste(range1, false);
要注意的是,這種方式只能選一個(gè)單元格,復(fù)制一個(gè),不能選定一批單元格進(jìn)行復(fù)制。
上面的例子只給出了主要部分的代碼,其他的像銷毀Excel進(jìn)程等操作請參考前面的幾篇Excel作報(bào)表的隨筆。
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自:博客園