av激情亚洲男人的天堂国语,日韩欧美精品一中文字幕,无码av一区二区三区无码,国产又色又爽又刺激的a片,国产又色又爽又刺激的a片

JACOB的復(fù)制表格與添加空行

在網(wǎng)上復(fù)制粘貼代碼習(xí)慣了,所以沒(méi)有合適的方法的時(shí)候自己都懶得動(dòng)腦子。

創(chuàng)新互聯(lián)公司是一家集網(wǎng)站建設(shè),樂(lè)山企業(yè)網(wǎng)站建設(shè),樂(lè)山品牌網(wǎng)站建設(shè),網(wǎng)站定制,樂(lè)山網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷(xiāo),網(wǎng)絡(luò)優(yōu)化,樂(lè)山網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力。可充分滿(mǎn)足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專(zhuān)業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶(hù)成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。

沒(méi)想到昨天半天谷歌沒(méi)找到的解決方法今天早上換個(gè)思路幾分鐘就搞定了。

jacob是一個(gè)操作文檔的組件,這個(gè)就不贅述了,想知道的同學(xué)可以去百度和谷歌。

這是網(wǎng)上的jacob操作word的一個(gè)復(fù)制表格的方法

 
 
 
  1. /**  
  2.      * 在當(dāng)前文檔指定的位置拷貝表格  
  3.      *   
  4.      * @param pos  
  5.      *            當(dāng)前文檔指定的位置  
  6.      * @param tableIndex  
  7.      *            被拷貝的表格在word文檔中所處的位置  
  8.      */ 
  9.     public void copyTable(String pos, int tableIndex) {  
  10.         Dispatch tables = Dispatch.get(doc, "Tables").toDispatch();  
  11.         Dispatch table = Dispatch.call(tables, "Item", new Variant(tableIndex))  
  12.                 .toDispatch();  
  13.         Dispatch range = Dispatch.get(table, "Range").toDispatch();  
  14.         Dispatch.call(range, "Copy");  
  15.         if (this.find(pos)) {  
  16.             Dispatch textRange = Dispatch.get(selection, "Range").toDispatch();  
  17.             Dispatch.call(textRange, "Paste");  
  18.         }  
  19.     } 

可是如果是要復(fù)制多個(gè)表格,并且是在生成過(guò)程中復(fù)制的話(huà)就遇到難題了。

因?yàn)槿绻褂蒙厦孢@個(gè)方法的話(huà),需要一個(gè)標(biāo)簽提供表格copy時(shí)的坐標(biāo)。

 
 
 
  1. public void insertText(String newText) {    
  2.             Dispatch.put(selection, "Text", newText);    
  3.         }  

insertText這個(gè)方法,據(jù)實(shí)驗(yàn)和本人猜測(cè),是在***生成的時(shí)候才寫(xiě)入的。

而不是立即實(shí)現(xiàn)。

所以使用

 
 
 
  1. /**  
  2.      * 從選定內(nèi)容或插入點(diǎn)開(kāi)始查找文本  
  3.      *   
  4.      * @param toFindText  
  5.      *            要查找的文本  
  6.      * @return boolean true-查找到并選中該文本,false-未查找到文本  
  7.      */ 
  8.     public boolean find(String toFindText) {  
  9.         if (toFindText == null || toFindText.equals(""))  
  10.             return false;  
  11.         // 從selection所在位置開(kāi)始查詢(xún)  
  12.         Dispatch find = word.call(selection, "Find").toDispatch();  
  13.         // 設(shè)置要查找的內(nèi)容  
  14.         Dispatch.put(find, "Text", toFindText);  
  15.         // 向前查找  
  16.         Dispatch.put(find, "Forward", "True");  
  17.         // 設(shè)置格式  
  18.         Dispatch.put(find, "Format", "True");  
  19.         // 大小寫(xiě)匹配  
  20.         Dispatch.put(find, "MatchCase", "True");  
  21.         // 全字匹配  
  22.         Dispatch.put(find, "MatchWholeWord", "True");  
  23.         // 查找并選中  
  24.         return Dispatch.call(find, "Execute").getBoolean();  
  25.     } 

find方法尋找剛才插入的標(biāo)識(shí)文字始終是false,那么理所當(dāng)然,

copyTable(String pos, int tableIndex)這個(gè)方法是無(wú)用的。

所以昨天糾結(jié)了一下午。

今天早上突然福臨心至。把copy這個(gè)方法的代碼實(shí)現(xiàn)看了下。

我擦,我突然發(fā)現(xiàn),無(wú)須用什么標(biāo)簽來(lái)替換插入表格,直接尋找到光標(biāo)插入點(diǎn)不就行了。

稍微修改了下,其實(shí)就是刪除了幾行代碼,就變成以下代碼

 
 
 
  1. /**  
  2.      * 在當(dāng)前插入點(diǎn)拷貝表格  
  3.      *   
  4.      * @param tableIndex  
  5.      *            被拷貝的表格在word文檔中所處的位置  
  6.      */ 
  7.     public void copyTable(int tableIndex) {  
  8.         Dispatch tables = Dispatch.get(doc, "Tables").toDispatch();  
  9.         Dispatch table = Dispatch.call(tables, "Item", new Variant(tableIndex))  
  10.                 .toDispatch();  
  11.         Dispatch range = Dispatch.get(table, "Range").toDispatch();  
  12.         Dispatch.call(range, "Copy");  
  13.         Dispatch.call(selection, "Paste");  
  14.     } 

so,在插入上一個(gè)表格之后,再將光標(biāo)往下移動(dòng)幾行,就搞定了,根據(jù)數(shù)據(jù)多少,動(dòng)態(tài)復(fù)制表格。

往下移動(dòng)光標(biāo)的代碼:

 
 
 
  1. /**  
  2.      * 把選定的內(nèi)容或者插入點(diǎn)向下移動(dòng)  
  3.      *   
  4.      * @param pos  
  5.      *            移動(dòng)的距離  
  6.      */ 
  7.     public void moveDown(int pos) {  
  8.         if (selection == null) {  
  9.             selection = Dispatch.get(word, "Selection").toDispatch();  
  10.         }  
  11.         for (int i = 0; i < pos; i++)  
  12.             Dispatch.call(selection, "MoveDown");  
  13.     } 

這樣,就ok了。

但是在生成三個(gè)以上表格時(shí),卻發(fā)現(xiàn)一個(gè)問(wèn)題,那就是后面的表格緊接上一個(gè)表格,不論往下移動(dòng)幾個(gè)光標(biāo)都木有用。

那么,要如何是好呢。這時(shí)候,一個(gè)極其有用的代碼就出現(xiàn)了,那就是插入一個(gè)空行:

 
 
 
  1. Dispatch.call(selection, "TypeParagraph");//插入空行 

全部搞定。

這次的過(guò)程給了我一個(gè)個(gè)赤果果的教訓(xùn),那就是不要太依賴(lài)谷歌與度娘。

還是多看看源碼吧。

仰山之高,觀(guān)水之流…… 省我其心,撫爾之琴……


網(wǎng)站標(biāo)題:JACOB的復(fù)制表格與添加空行
當(dāng)前鏈接:http://uogjgqi.cn/article/dhiesph.html
掃二維碼與項(xiàng)目經(jīng)理溝通

我們?cè)谖⑿派?4小時(shí)期待你的聲音

解答本文疑問(wèn)/技術(shù)咨詢(xún)/運(yùn)營(yíng)咨詢(xún)/技術(shù)建議/互聯(lián)網(wǎng)交流