[問題] 刪除多行Excel資料並另存新檔

看板C_Sharp (C#)作者 (1+1≠2)時間13年前 (2012/04/27 21:30), 編輯推噓3(3011)
留言14則, 3人參與, 最新討論串1/1
我想要寫個程式讓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

04/28 00:06, , 1F
你用這個元件OFFICE版本應該是沒有差 都可以用吧
04/28 00:06, 1F

04/28 00:07, , 2F
我之前用這個元件讀寫,2003 或 2007都可以
04/28 00:07, 2F
※ 編輯: don750421 來自: 114.47.28.213 (04/29 02:08)

04/29 02:58, , 3F
Excel.Range delRng= wbkExcel.worksheets[intpasssheet].
04/29 02:58, 3F

04/29 02:58, , 4F
range["A1"];
04/29 02:58, 4F

04/29 03:00, , 5F
然後再用Excel.Range.Offset(x,y) 取得要刪除的範圍
04/29 03:00, 5F

04/29 03:05, , 6F
最後摳 Delete or Clear 憑印象寫的 技德是可以刪除整行
04/29 03:05, 6F

04/29 11:11, , 7F
pia大,我懂你說的方法,好像也可以使用get_range
04/29 11:11, 7F

04/29 11:12, , 8F
然後再做delete的動作
04/29 11:12, 8F

04/29 11:13, , 9F
但是你這邊提到的(x,y)x指的是行?a.b.c.d.e.f
04/29 11:13, 9F

04/29 11:13, , 10F
y指的是列1,2.3,4,5嗎?
04/29 11:13, 10F

04/29 11:14, , 11F
但是使用者只輸入行,也就是代入x,那Y要怎麼代入才能刪
04/29 11:14, 11F

04/29 11:14, , 12F
除整行呢?
04/29 11:14, 12F

04/29 11:15, , 13F
麻煩指點^^
04/29 11:15, 13F

04/30 16:02, , 14F
delRng.Offset[x,0 or missing].EntireColumns.Delete();
04/30 16:02, 14F
文章代碼(AID): #1FcfzUbt (C_Sharp)
文章代碼(AID): #1FcfzUbt (C_Sharp)