java操作excel2007文檔介紹及代碼例子


關於Java讀取Excel2007的文章在Google、百度上搜索一下,沒有太好的例子,實現的也不算太好。查看了一下Poi,最新的 POI 3.5 beta 4 支持讀寫 Excel2007和PPT2007(XLSX and PPTX),自己來實現Java讀取Excel2007了。下載 POI 3.5 beta 4 解壓,把其中的jar包導入項目文件。

org.apache.poi對更高excel文檔的操作

1.導入jar包

dom4j-20040902.021138.jar

ooxml-schemas-1.1.jar

poi-3.9.jar

poi-ooxml-3.9.jar

xmlbeans-2.5.0.jar

2.案例代碼


<p style="line-height: 1.5em;"><span style="font-family: 宋體, simsun; font-size: 14px;"></span></p><table class="syntaxhighlighter  java" border="0" cellspacing="0" cellpadding="0"><tbody><tr><td class="gutter"><div class="line number1 index0 alt2">1</div><div class="line number2 index1 alt1">2</div><div class="line number3 index2 alt2">3</div><div class="line number4 index3 alt1">4</div><div class="line number5 index4 alt2">5</div><div class="line number6 index5 alt1">6</div><div class="line number7 index6 alt2">7</div><div class="line number8 index7 alt1">8</div><div class="line number9 index8 alt2">9</div><div class="line number10 index9 alt1">10</div><div class="line number11 index10 alt2">11</div><div class="line number12 index11 alt1">12</div><div class="line number13 index12 alt2">13</div><div class="line number14 index13 alt1">14</div><div class="line number15 index14 alt2">15</div><div class="line number16 index15 alt1">16</div><div class="line number17 index16 alt2">17</div><div class="line number18 index17 alt1">18</div><div class="line number19 index18 alt2">19</div><div class="line number20 index19 alt1">20</div><div class="line number21 index20 alt2">21</div><div class="line number22 index21 alt1">22</div><div class="line number23 index22 alt2">23</div><div class="line number24 index23 alt1">24</div><div class="line number25 index24 alt2">25</div><div class="line number26 index25 alt1">26</div><div class="line number27 index26 alt2">27</div><div class="line number28 index27 alt1">28</div><div class="line number29 index28 alt2">29</div><div class="line number30 index29 alt1">30</div><div class="line number31 index30 alt2">31</div><div class="line number32 index31 alt1">32</div><div class="line number33 index32 alt2">33</div><div class="line number34 index33 alt1">34</div><div class="line number35 index34 alt2">35</div><div class="line number36 index35 alt1">36</div><div class="line number37 index36 alt2">37</div><div class="line number38 index37 alt1">38</div><div class="line number39 index38 alt2">39</div><div class="line number40 index39 alt1">40</div><div class="line number41 index40 alt2">41</div><div class="line number42 index41 alt1">42</div><div class="line number43 index42 alt2">43</div><div class="line number44 index43 alt1">44</div><div class="line number45 index44 alt2">45</div><div class="line number46 index45 alt1">46</div><div class="line number47 index46 alt2">47</div><div class="line number48 index47 alt1">48</div><div class="line number49 index48 alt2">49</div><div class="line number50 index49 alt1">50</div><div class="line number51 index50 alt2">51</div><div class="line number52 index51 alt1">52</div><div class="line number53 index52 alt2">53</div><div class="line number54 index53 alt1">54</div><div class="line number55 index54 alt2">55</div><div class="line number56 index55 alt1">56</div><div class="line number57 index56 alt2">57</div><div class="line number58 index57 alt1">58</div><div class="line number59 index58 alt2">59</div><div class="line number60 index59 alt1">60</div><div class="line number61 index60 alt2">61</div><div class="line number62 index61 alt1">62</div><div class="line number63 index62 alt2">63</div><div class="line number64 index63 alt1">64</div><div class="line number65 index64 alt2">65</div><div class="line number66 index65 alt1">66</div><div class="line number67 index66 alt2">67</div><div class="line number68 index67 alt1">68</div><div class="line number69 index68 alt2">69</div><div class="line number70 index69 alt1">70</div><div class="line number71 index70 alt2">71</div><div class="line number72 index71 alt1">72</div><div class="line number73 index72 alt2">73</div><div class="line number74 index73 alt1">74</div><div class="line number75 index74 alt2">75</div><div class="line number76 index75 alt1">76</div><div class="line number77 index76 alt2">77</div><div class="line number78 index77 alt1">78</div><div class="line number79 index78 alt2">79</div><div class="line number80 index79 alt1">80</div><div class="line number81 index80 alt2">81</div><div class="line number82 index81 alt1">82</div><div class="line number83 index82 alt2">83</div><div class="line number84 index83 alt1">84</div><div class="line number85 index84 alt2">85</div><div class="line number86 index85 alt1">86</div><div class="line number87 index86 alt2">87</div><div class="line number88 index87 alt1">88</div><div class="line number89 index88 alt2">89</div><div class="line number90 index89 alt1">90</div><div class="line number91 index90 alt2">91</div><div class="line number92 index91 alt1">92</div><div class="line number93 index92 alt2">93</div><div class="line number94 index93 alt1">94</div><div class="line number95 index94 alt2">95</div><div class="line number96 index95 alt1">96</div><div class="line number97 index96 alt2">97</div><div class="line number98 index97 alt1">98</div><div class="line number99 index98 alt2">99</div></td><td class="code"><div class="container"><div class="line number1 index0 alt2"><code class="java keyword">package</code> <code class="java plain">xls;</code></div><div class="line number2 index1 alt1"><code class="java keyword">import</code> <code class="java plain">java.io.FileNotFoundException;</code></div><div class="line number3 index2 alt2"><code class="java keyword">import</code> <code class="java plain">java.io.FileOutputStream;</code></div><div class="line number4 index3 alt1"><code class="java keyword">import</code> <code class="java plain">java.io.IOException;</code></div><div class="line number5 index4 alt2"><code class="java keyword">import</code> <code class="java plain">org.apache.poi.ss.usermodel.CellStyle;</code></div><div class="line number6 index5 alt1"><code class="java keyword">import</code> <code class="java plain">org.apache.poi.ss.usermodel.Font;</code></div><div class="line number7 index6 alt2"><code class="java keyword">import</code> <code class="java plain">org.apache.poi.ss.usermodel.IndexedColors;</code></div><div class="line number8 index7 alt1"><code class="java keyword">import</code> <code class="java plain">org.apache.poi.xssf.usermodel.XSSFCell;</code></div><div class="line number9 index8 alt2"><code class="java keyword">import</code> <code class="java plain">org.apache.poi.xssf.usermodel.XSSFSheet;</code></div><div class="line number10 index9 alt1"><code class="java keyword">import</code> <code class="java plain">org.apache.poi.xssf.usermodel.XSSFWorkbook;</code></div><div class="line number11 index10 alt2"><code class="java keyword">public</code> <code class="java keyword">class</code> <code class="java plain">XlsxUtil {</code></div><div class="line number12 index11 alt1"><code class="java spaces">    </code><code class="java preprocessor">/**</code></div><div class="line number13 index12 alt2"><code class="java spaces">     </code><code class="java preprocessor">* 寫入</code></div><div class="line number14 index13 alt1"><code class="java spaces">     </code><code class="java preprocessor">* @param path</code></div><div class="line number15 index14 alt2"><code class="java spaces">     </code><code class="java preprocessor">*/</code></div><div class="line number16 index15 alt1"><code class="java spaces">    </code><code class="java keyword">public</code> <code class="java keyword">void</code> <code class="java plain">writeExcel2007(String path){</code></div><div class="line number17 index16 alt2"><code class="java spaces">        </code><code class="java plain">XSSFWorkbook wb = </code><code class="java keyword">new</code> <code class="java plain">XSSFWorkbook();  </code><code class="java comments">//or new HSSFWorkbook();</code></div><div class="line number18 index17 alt1"><code class="java spaces">        </code><code class="java plain">XSSFSheet sheet = wb.createSheet(</code><code class="java string">"Fonts"</code><code class="java plain">);</code></div><div class="line number19 index18 alt2"><code class="java spaces">                              </code> </div><div class="line number20 index19 alt1"><code class="java spaces">        </code><code class="java plain">Font font0 = wb.createFont();</code></div><div class="line number21 index20 alt2"><code class="java spaces">        </code><code class="java plain">font0.setColor(IndexedColors.BROWN.getIndex());</code></div><div class="line number22 index21 alt1"><code class="java spaces">        </code><code class="java plain">CellStyle style0 = wb.createCellStyle();</code></div><div class="line number23 index22 alt2"><code class="java spaces">        </code><code class="java plain">style0.setFont(font0);</code></div><div class="line number24 index23 alt1"><code class="java spaces">                        </code> </div><div class="line number25 index24 alt2"><code class="java spaces">        </code><code class="java plain">Font font1 = wb.createFont();</code></div><div class="line number26 index25 alt1"><code class="java spaces">        </code><code class="java plain">font1.setFontHeightInPoints((</code><code class="java keyword">short</code><code class="java plain">)</code><code class="java value">14</code><code class="java plain">);</code></div><div class="line number27 index26 alt2"><code class="java spaces">        </code><code class="java plain">font1.setFontName(</code><code class="java string">"Courier New"</code><code class="java plain">);</code></div><div class="line number28 index27 alt1"><code class="java spaces">        </code><code class="java plain">font1.setColor(IndexedColors.RED.getIndex());</code></div><div class="line number29 index28 alt2"><code class="java spaces">        </code><code class="java plain">CellStyle style1 = wb.createCellStyle();</code></div><div class="line number30 index29 alt1"><code class="java spaces">        </code><code class="java plain">style1.setFont(font1);</code></div><div class="line number31 index30 alt2"><code class="java spaces">                        </code> </div><div class="line number32 index31 alt1"><code class="java spaces">        </code><code class="java plain">Font font2 = wb.createFont();</code></div><div class="line number33 index32 alt2"><code class="java spaces">        </code><code class="java plain">font2.setFontHeightInPoints((</code><code class="java keyword">short</code><code class="java plain">)</code><code class="java value">16</code><code class="java plain">);</code></div><div class="line number34 index33 alt1"><code class="java spaces">        </code><code class="java plain">font2.setFontName(</code><code class="java string">"Arial"</code><code class="java plain">);</code></div><div class="line number35 index34 alt2"><code class="java spaces">        </code><code class="java plain">font2.setColor(IndexedColors.GREEN.getIndex());</code></div><div class="line number36 index35 alt1"><code class="java spaces">        </code><code class="java plain">CellStyle style2 = wb.createCellStyle();</code></div><div class="line number37 index36 alt2"><code class="java spaces">        </code><code class="java plain">style2.setFont(font2);</code></div><div class="line number38 index37 alt1"><code class="java spaces">                        </code> </div><div class="line number39 index38 alt2"><code class="java spaces">        </code><code class="java plain">Font font3 = wb.createFont();</code></div><div class="line number40 index39 alt1"><code class="java spaces">        </code><code class="java plain">font3.setFontHeightInPoints((</code><code class="java keyword">short</code><code class="java plain">)</code><code class="java value">18</code><code class="java plain">);</code></div><div class="line number41 index40 alt2"><code class="java spaces">        </code><code class="java plain">font3.setFontName(</code><code class="java string">"Times New Roman"</code><code class="java plain">);</code></div><div class="line number42 index41 alt1"><code class="java spaces">        </code><code class="java plain">font3.setColor(IndexedColors.LAVENDER.getIndex());</code></div><div class="line number43 index42 alt2"><code class="java spaces">        </code><code class="java plain">CellStyle style3 = wb.createCellStyle();</code></div><div class="line number44 index43 alt1"><code class="java spaces">        </code><code class="java plain">style3.setFont(font3);</code></div><div class="line number45 index44 alt2"><code class="java spaces">                        </code> </div><div class="line number46 index45 alt1"><code class="java spaces">        </code><code class="java plain">Font font4 = wb.createFont();</code></div><div class="line number47 index46 alt2"><code class="java spaces">        </code><code class="java plain">font4.setFontHeightInPoints((</code><code class="java keyword">short</code><code class="java plain">)</code><code class="java value">18</code><code class="java plain">);</code></div><div class="line number48 index47 alt1"><code class="java spaces">        </code><code class="java plain">font4.setFontName(</code><code class="java string">"Wingdings"</code><code class="java plain">);</code></div><div class="line number49 index48 alt2"><code class="java spaces">        </code><code class="java plain">font4.setColor(IndexedColors.GOLD.getIndex());</code></div><div class="line number50 index49 alt1"><code class="java spaces">        </code><code class="java plain">CellStyle style4 = wb.createCellStyle();</code></div><div class="line number51 index50 alt2"><code class="java spaces">        </code><code class="java plain">style4.setFont(font4);</code></div><div class="line number52 index51 alt1"><code class="java spaces">                        </code> </div><div class="line number53 index52 alt2"><code class="java spaces">        </code><code class="java plain">Font font5 = wb.createFont();</code></div><div class="line number54 index53 alt1"><code class="java spaces">        </code><code class="java plain">font5.setFontName(</code><code class="java string">"Symbol"</code><code class="java plain">);</code></div><div class="line number55 index54 alt2"><code class="java spaces">        </code><code class="java plain">CellStyle style5 = wb.createCellStyle();</code></div><div class="line number56 index55 alt1"><code class="java spaces">        </code><code class="java plain">style5.setFont(font5);</code></div><div class="line number57 index56 alt2"><code class="java spaces">                        </code> </div><div class="line number58 index57 alt1"><code class="java spaces">        </code><code class="java plain">XSSFCell cell0 = sheet.createRow(</code><code class="java value">0</code><code class="java plain">).createCell(</code><code class="java value">1</code><code class="java plain">);</code></div><div class="line number59 index58 alt2"><code class="java spaces">        </code><code class="java plain">cell0.setCellValue(</code><code class="java string">"Default"</code><code class="java plain">);</code></div><div class="line number60 index59 alt1"><code class="java spaces">        </code><code class="java plain">cell0.setCellStyle(style0);</code></div><div class="line number61 index60 alt2"><code class="java spaces">                        </code> </div><div class="line number62 index61 alt1"><code class="java spaces">        </code><code class="java plain">XSSFCell cell1 = sheet.createRow(</code><code class="java value">1</code><code class="java plain">).createCell(</code><code class="java value">1</code><code class="java plain">);</code></div><div class="line number63 index62 alt2"><code class="java spaces">        </code><code class="java plain">cell1.setCellValue(</code><code class="java string">"Courier"</code><code class="java plain">);</code></div><div class="line number64 index63 alt1"><code class="java spaces">        </code><code class="java plain">cell1.setCellStyle(style1);</code></div><div class="line number65 index64 alt2"><code class="java spaces">                        </code> </div><div class="line number66 index65 alt1"><code class="java spaces">        </code><code class="java plain">XSSFCell cell2 = sheet.createRow(</code><code class="java value">2</code><code class="java plain">).createCell(</code><code class="java value">1</code><code class="java plain">);</code></div><div class="line number67 index66 alt2"><code class="java spaces">        </code><code class="java plain">cell2.setCellValue(</code><code class="java string">"Arial中文內容"</code><code class="java plain">);</code></div><div class="line number68 index67 alt1"><code class="java spaces">        </code><code class="java plain">cell2.setCellStyle(style2);</code></div><div class="line number69 index68 alt2"><code class="java spaces">                        </code> </div><div class="line number70 index69 alt1"><code class="java spaces">        </code><code class="java plain">XSSFCell cell3 = sheet.createRow(</code><code class="java value">3</code><code class="java plain">).createCell(</code><code class="java value">1</code><code class="java plain">);</code></div><div class="line number71 index70 alt2"><code class="java spaces">        </code><code class="java plain">cell3.setCellValue(</code><code class="java string">"Times New Roman"</code><code class="java plain">);</code></div><div class="line number72 index71 alt1"><code class="java spaces">        </code><code class="java plain">cell3.setCellStyle(style3);</code></div><div class="line number73 index72 alt2"><code class="java spaces">                        </code> </div><div class="line number74 index73 alt1"><code class="java spaces">        </code><code class="java plain">XSSFCell cell4 = sheet.createRow(</code><code class="java value">4</code><code class="java plain">).createCell(</code><code class="java value">1</code><code class="java plain">);</code></div><div class="line number75 index74 alt2"><code class="java spaces">        </code><code class="java plain">cell4.setCellValue(</code><code class="java string">"Wingdings"</code><code class="java plain">);</code></div><div class="line number76 index75 alt1"><code class="java spaces">        </code><code class="java plain">cell4.setCellStyle(style4);</code></div><div class="line number77 index76 alt2"><code class="java spaces">                        </code> </div><div class="line number78 index77 alt1"><code class="java spaces">        </code><code class="java plain">XSSFCell cell5 = sheet.createRow(</code><code class="java value">5</code><code class="java plain">).createCell(</code><code class="java value">1</code><code class="java plain">);</code></div><div class="line number79 index78 alt2"><code class="java spaces">        </code><code class="java plain">cell5.setCellValue(</code><code class="java string">"Symbol"</code><code class="java plain">);</code></div><div class="line number80 index79 alt1"><code class="java spaces">        </code><code class="java plain">cell5.setCellStyle(style5);</code></div><div class="line number81 index80 alt2"><code class="java spaces">                        </code> </div><div class="line number82 index81 alt1"><code class="java spaces">        </code><code class="java comments">// Write the output to a file</code></div><div class="line number83 index82 alt2"><code class="java spaces">        </code><code class="java plain">FileOutputStream fileOut;</code></div><div class="line number84 index83 alt1"><code class="java spaces">        </code><code class="java keyword">try</code> <code class="java plain">{</code></div><div class="line number85 index84 alt2"><code class="java spaces">            </code><code class="java plain">fileOut = </code><code class="java keyword">new</code> <code class="java plain">FileOutputStream(path);</code></div><div class="line number86 index85 alt1"><code class="java spaces">            </code><code class="java plain">wb.write(fileOut);</code></div><div class="line number87 index86 alt2"><code class="java spaces">            </code><code class="java plain">fileOut.close();</code></div><div class="line number88 index87 alt1"><code class="java spaces">        </code><code class="java plain">} </code><code class="java keyword">catch</code> <code class="java plain">(FileNotFoundException e) {</code></div><div class="line number89 index88 alt2"><code class="java spaces">            </code><code class="java plain">e.printStackTrace();</code></div><div class="line number90 index89 alt1"><code class="java spaces">        </code><code class="java plain">} </code><code class="java keyword">catch</code> <code class="java plain">(IOException e) {</code></div><div class="line number91 index90 alt2"><code class="java spaces">            </code><code class="java plain">e.printStackTrace();</code></div><div class="line number92 index91 alt1"><code class="java spaces">        </code><code class="java plain">}</code></div><div class="line number93 index92 alt2"><code class="java spaces">    </code><code class="java plain">}</code></div><div class="line number94 index93 alt1"><code class="java spaces">                           </code> </div><div class="line number95 index94 alt2"><code class="java spaces">    </code><code class="java keyword">public</code> <code class="java keyword">static</code> <code class="java keyword">void</code> <code class="java plain">main(String[] args) {</code></div><div class="line number96 index95 alt1"><code class="java spaces">        </code><code class="java plain">XlsxUtil test = </code><code class="java keyword">new</code> <code class="java plain">XlsxUtil();</code></div><div class="line number97 index96 alt2"><code class="java spaces">        </code><code class="java plain">test.writeExcel2007(</code><code class="java string">"C:\\Documents and Settings\\不了了之\\桌面\\2007.xlsx"</code><code class="java plain">);</code></div><div class="line number98 index97 alt1"><code class="java spaces">    </code><code class="java plain">}</code></div><div class="line number99 index98 alt2"><code class="java plain">}</code></div></div></td></tr></tbody></table><p style="line-height: 1.5em;">
</p>


                                                                                                                                                                                                                      文章轉載自:[169IT-最新最全的IT資訊]
                                                                                                                                                                                                    本文標題:java操作excel2007文檔介紹及代碼例子


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章