public?class?TestPoi?extends?HttpServlet
{
?public?void?doGet(HttpServletRequest?request,?HttpServletResponse?response)
???throws?ServletException
?{
??File?file?=?new?File("D:\\b.doc");
??try
??{
???FileInputStream?in?=?new?FileInputStream("D:\\b.doc");
???//?HWPFFileSystem?hwpfsys?=?new?HWPFFileSystem();
???//?hwpfsys.getStream("d://b.doc");
???POIFSFileSystem?pfs?=?new?POIFSFileSystem(in);
???HWPFDocument?hwpf?=?new?HWPFDocument(pfs);
???//?hwpf.write(hwpfsys.getStream("D://e.doc"));
???//?Range?range?=?new?Range(0,?(int)?file.length(),?hwpf);
???Range?range?=?hwpf.getRange();
???StyleSheet?styleSheet?=?hwpf.getStyleSheet();
???TableIterator?it?=?new?TableIterator(range);
//遍歷一個DOC中的所有表格
???while?(it.hasNext())
???{
????Table?tb?=?(Table)?it.next();
??//遍歷表格的行
????for?(int?i?=?0;?i?<?tb.numRows();?i++)
????{
?????TableRow?tr?=?tb.getRow(i);
//遍歷表格的列
?????for?(int?j?=?0;?j?<?tr.numCells();?j++)
?????{
????//往表格中插入數據?
?????TableCell?td?=?tr.getCell(j);
??????String?text?=?"第"?+?i?+?"行第"?+?j?+?"列";
??????int?p?=?td.numParagraphs();
??????Paragraph?para?=?td.getParagraph(p);
??????ParagraphProperties?pp?=?new?ParagraphProperties();
??????para.insertBefore(text);
?????}
????}
???}
//在表格外面插入內容??
?CharacterProperties?cp?=?new?CharacterProperties();
???cp.setBold(true);
???cp.setCharacterSpacing(10);
???cp.setChse(cp.SPRM_CHARSCALE);
???cp.setCapitalized(true);
???int?p?=?range.numParagraphs();
???Paragraph?para?=?range.getParagraph(p?-?1);
???para.insertAfter("test?poi?successful!",?cp);
???para.insertAfter("測試成功",?cp);
???response.setContentType("application/vnd.ms-word");
???response.setHeader("Content-disposition",?"attachment;filename=e.doc");
???OutputStream?out?=?response.getOutputStream();
???hwpf.write(out);
???out.close();
??}
??catch?(Exception?ex)
??{
???ex.printStackTrace();
??}
?}
?public?void?doPost(HttpServletRequest?request,?HttpServletResponse?response)
???throws?ServletException
?{
??doGet(request,?response);
?}
}
{
?public?void?doGet(HttpServletRequest?request,?HttpServletResponse?response)
???throws?ServletException
?{
??File?file?=?new?File("D:\\b.doc");
??try
??{
???FileInputStream?in?=?new?FileInputStream("D:\\b.doc");
???//?HWPFFileSystem?hwpfsys?=?new?HWPFFileSystem();
???//?hwpfsys.getStream("d://b.doc");
???POIFSFileSystem?pfs?=?new?POIFSFileSystem(in);
???HWPFDocument?hwpf?=?new?HWPFDocument(pfs);
???//?hwpf.write(hwpfsys.getStream("D://e.doc"));
???//?Range?range?=?new?Range(0,?(int)?file.length(),?hwpf);
???Range?range?=?hwpf.getRange();
???StyleSheet?styleSheet?=?hwpf.getStyleSheet();
???TableIterator?it?=?new?TableIterator(range);
//遍歷一個DOC中的所有表格
???while?(it.hasNext())
???{
????Table?tb?=?(Table)?it.next();
??//遍歷表格的行
????for?(int?i?=?0;?i?<?tb.numRows();?i++)
????{
?????TableRow?tr?=?tb.getRow(i);
//遍歷表格的列
?????for?(int?j?=?0;?j?<?tr.numCells();?j++)
?????{
????//往表格中插入數據?
?????TableCell?td?=?tr.getCell(j);
??????String?text?=?"第"?+?i?+?"行第"?+?j?+?"列";
??????int?p?=?td.numParagraphs();
??????Paragraph?para?=?td.getParagraph(p);
??????ParagraphProperties?pp?=?new?ParagraphProperties();
??????para.insertBefore(text);
?????}
????}
???}
//在表格外面插入內容??
?CharacterProperties?cp?=?new?CharacterProperties();
???cp.setBold(true);
???cp.setCharacterSpacing(10);
???cp.setChse(cp.SPRM_CHARSCALE);
???cp.setCapitalized(true);
???int?p?=?range.numParagraphs();
???Paragraph?para?=?range.getParagraph(p?-?1);
???para.insertAfter("test?poi?successful!",?cp);
???para.insertAfter("測試成功",?cp);
???response.setContentType("application/vnd.ms-word");
???response.setHeader("Content-disposition",?"attachment;filename=e.doc");
???OutputStream?out?=?response.getOutputStream();
???hwpf.write(out);
???out.close();
??}
??catch?(Exception?ex)
??{
???ex.printStackTrace();
??}
?}
?public?void?doPost(HttpServletRequest?request,?HttpServletResponse?response)
???throws?ServletException
?{
??doGet(request,?response);
?}
}
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
