作者don750421 (1+1≠2)
看板C_Sharp
標題[問題] 刪除多行Excel資料並另存新檔
時間Fri Apr 27 21:30:02 2012
我想要寫個程式讓User修改Excel內檔案,並另存成.prn檔
在螢幕畫面會讓User輸入開始的sheet(變數為intpasssheet)
還會讓User輸入要刪除的行(變數為intclearline)
讓User可以一次選取多個檔案,而每個檔案有很多個Sheet
每個sheet都不同名稱,假設為SheetName、Age、Address、Phone、CellPhone
如果intpasssheet=2,則從第二個Sheet Age開始讀取並修改內容
如果intclearline=10,則從第二個Sheet Age開始刪除左邊開始數10行(即A~J)
並且將修改完的Sheet另存為.prn檔,檔名如sheet name
Output檔案為Age.prn、Address.prn、Phone.prn、CellPhone.prn...
因為使用者輸入只會輸入幾行
並不會輸入A.B.C.D....
請問我要如何一次刪除多行呢?
以下是我目前寫的Code
http://codepad.org/tQlg0Isj
順便問一下,如果是2007的.xlsx是否就不能以我這個方式
做刪除多行或另存檔案的方式呢?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.47.28.213
1F:推 gundan:你用這個元件OFFICE版本應該是沒有差 都可以用吧 04/28 00:06
2F:→ gundan:我之前用這個元件讀寫,2003 或 2007都可以 04/28 00:07
※ 編輯: don750421 來自: 114.47.28.213 (04/29 02:08)
3F:推 piadoro:Excel.Range delRng= wbkExcel.worksheets[intpasssheet]. 04/29 02:58
4F:→ piadoro:range["A1"]; 04/29 02:58
5F:→ piadoro:然後再用Excel.Range.Offset(x,y) 取得要刪除的範圍 04/29 03:00
6F:→ piadoro:最後摳 Delete or Clear 憑印象寫的 技德是可以刪除整行 04/29 03:05
7F:→ don750421:pia大,我懂你說的方法,好像也可以使用get_range 04/29 11:11
8F:→ don750421:然後再做delete的動作 04/29 11:12
9F:→ don750421:但是你這邊提到的(x,y)x指的是行?a.b.c.d.e.f 04/29 11:13
10F:→ don750421:y指的是列1,2.3,4,5嗎? 04/29 11:13
11F:→ don750421:但是使用者只輸入行,也就是代入x,那Y要怎麼代入才能刪 04/29 11:14
12F:→ don750421:除整行呢? 04/29 11:14
13F:→ don750421:麻煩指點^^ 04/29 11:15
14F:推 piadoro:delRng.Offset[x,0 or missing].EntireColumns.Delete(); 04/30 16:02