<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Oo ' Smiling on Java ' oO

    從夢(mèng)里回來,依然記得夢(mèng)里有你...

      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
      8 隨筆 :: 0 文章 :: 10 評(píng)論 :: 0 Trackbacks
    試試用POI操作excel囖.
    純粹為了自己好找.
    要有人看了這些的話,隨意就好啦...歡迎指出不當(dāng)之處.
    package?xls;

    import?java.io.FileInputStream;
    import?java.io.FileNotFoundException;
    import?java.io.FileOutputStream;
    import?java.io.IOException;
    import?java.io.OutputStreamWriter;
    import?java.io.UnsupportedEncodingException;
    import?java.text.SimpleDateFormat;
    import?java.util.ArrayList;
    import?java.util.Date;
    import?java.util.List;

    import?org.apache.poi.hssf.usermodel.HSSFCell;
    import?org.apache.poi.hssf.usermodel.HSSFRow;
    import?org.apache.poi.hssf.usermodel.HSSFSheet;
    import?org.apache.poi.hssf.usermodel.HSSFWorkbook;

    public?class?ReadXL
    {
    ????
    public?static?String?fileName?=?"C:\\xls\\EXCEL.xls";
    ????
    public?static?String?path?=?"C:\\xls\\";?//為方便,就這樣寫了.
    ????public?static?void?main(String?argv[])
    ????
    {
    ????????List?list?
    =?readExcel();
    ????????String?xmldata?
    =?buildXML(list);
    ????????createXMLFile(xmldata);
    ????}


    ????
    /**
    ?????*?讀取磁盤上的EXCEL文件的內(nèi)容
    ?????*?
    @return?List
    ?????
    */

    ????
    public?static?List?readExcel()
    ????
    {
    ????????List?list?
    =?null;
    ????????UserBean?ub?
    =?null;
    ????????
    try
    ????????
    {
    ????????????HSSFWorkbook?workbook?
    =?new?HSSFWorkbook(new?FileInputStream(
    ????????????????????fileName));?
    //得到excel對(duì)象
    ????????????HSSFSheet?sheet?=?workbook.getSheetAt(0);?//得到第一個(gè)sheet
    ????????????int?rows?=?sheet.getPhysicalNumberOfRows();?//得到行數(shù)
    ????????????list?=?new?ArrayList();
    ????????????
    for?(int?i?=?1;?i?<?rows;?i++)
    ????????????
    {
    ????????????????HSSFRow?row?
    =?sheet.getRow(i);
    ????????????????ub?
    =?new?UserBean();
    ????????????????HSSFCell?cell?
    =?row.getCell((short)?0);?//得到列0(下標(biāo)0,為第一列)
    ????????????????ub.setName(cell.getStringCellValue());
    ????????????????cell?
    =?row.getCell((short)?1);?//得到列?1
    ????????????????ub.setEmail(cell.getStringCellValue());
    ????????????????cell?
    =?row.getCell((short)?2);?//得到列2
    ????????????????ub.setPhone(cell.getStringCellValue());
    ????????????????cell?
    =?row.getCell((short)?3);?//得到列3
    ????????????????ub.setPasswd(cell.getStringCellValue());
    ????????????????list.add(ub);
    ????????????}

    ????????????
    return?list;
    ????????}

    ????????
    catch?(Exception?e)
    ????????
    {
    ????????????
    return?null;
    ????????}

    ????}


    ????
    /**
    ?????*?組裝xml格式字符串
    ?????*?
    @param?list?List
    ?????*?
    @return?String
    ?????
    */

    ????
    public?static?String?buildXML(List?list)
    ????
    {
    ????????StringBuffer?sb?
    =?new?StringBuffer();
    ????????sb.append(
    "<contents-list>\n\t");
    ????????sb.append(
    "<content>\n\t\t");
    ????????
    for?(int?i?=?0;?i?<?list.size();?i++)
    ????????
    {
    ????????????UserBean?bean?
    =?(UserBean)?list.get(i);
    ????????????sb.append(
    "<userinfo>\n\t\t\t");
    ????????????sb.append(
    "<name>"?+?bean.getName()?+?"</name>\n\t\t\t");
    ????????????sb.append(
    "<email>"?+?bean.getEmail()?+?"</email>\n\t\t\t");
    ????????????sb.append(
    "<phone>"?+?bean.getPhone()?+?"</phone>\n\t\t\t");
    ????????????sb.append(
    "<passwd>"?+?bean.getPasswd()?+?"</passwd>\n\t\t");
    ????????????
    if?(i?+?1?<?list.size())
    ????????????
    {
    ????????????????sb.append(
    "</userinfo>\n\t\t");
    ????????????}

    ????????????
    else
    ????????????
    {
    ????????????????sb.append(
    "</userinfo>\n\t");
    ????????????}

    ????????}

    ????????sb.append(
    "</content>\n");
    ????????sb.append(
    "</contents-list>");
    ????????
    return?sb.toString();
    ????}



    ????
    /**
    ?????*?輸出到文件
    ?????*?
    @param?xmldata?String
    ?????
    */

    ????
    public?static?void?createXMLFile(String?xmldata)
    ????
    {
    ????????String?createTime?
    =?createTime();
    ????????String?filename?
    =?path?+?createTime?+?".xml";
    ????????OutputStreamWriter?osw?
    =?null;
    ????????FileOutputStream?output?
    =?null;
    ????????
    try
    ????????
    {
    ????????????output?
    =?new?FileOutputStream(filename);
    ????????????osw?
    =?new?OutputStreamWriter(output,?"utf-8");
    ????????????osw.write(xmldata);
    ????????????osw.flush();
    ????????}

    ????????
    catch?(Exception?ex)
    ????????
    {
    ????????}
    ????????
    ????????
    finally
    ????????
    {
    ????????????
    try
    ????????????
    {
    ????????????????
    if?(null?!=?output)
    ????????????????
    {
    ????????????????????output.close();
    ????????????????}

    ????????????}

    ????????????
    catch?(IOException?ex2)
    ????????????
    {
    ????????????}

    ????????????
    try
    ????????????
    {
    ????????????????
    if?(null?!=?osw)
    ????????????????
    {
    ????????????????????osw.close();
    ????????????????}

    ????????????}

    ????????????
    catch?(IOException?ex3)
    ????????????
    {
    ????????????}

    ????????}

    ????}


    ????
    /**
    ?????*?用時(shí)間作為文件名
    ?????*?
    @return?String
    ?????
    */

    ????
    public?static?String?createTime()
    ????
    {
    ????????Date?date?
    =?new?Date();
    ????????SimpleDateFormat?dateFormat?
    =?new?SimpleDateFormat("yyyyMMddmmss");
    ????????String?createTime?
    =?dateFormat.format(date);
    ????????
    return?createTime;
    ????}


    }


    再就一個(gè)UserBean,就幾個(gè)屬性.
    posted on 2007-12-11 23:28 Jwin 閱讀(2224) 評(píng)論(1)  編輯  收藏 所屬分類: ioOpr

    評(píng)論

    # re: poi讀excel 2016-06-14 23:00 Mary james
    thank you for the great tutorial.
    I recommend this website:
    http://how-to-program-in-java.com/
    It was really helpful for me.  回復(fù)  更多評(píng)論
      


    只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 九九久久精品国产免费看小说| 免费看大美女大黄大色| 青青青亚洲精品国产| 亚洲国产精品婷婷久久| 亚洲Aⅴ无码一区二区二三区软件| 99视频免费观看| 最新亚洲成av人免费看| 丰满亚洲大尺度无码无码专线| 亚洲国产情侣一区二区三区| 亚洲av日韩av高潮潮喷无码| 亚洲视频在线一区二区| 国产免费拔擦拔擦8x| 成人免费一级毛片在线播放视频| 国产精品白浆在线观看免费| 久久国产福利免费| 永久免费无码日韩视频| 美女尿口扒开图片免费| 亚洲欧美日韩中文字幕在线一区| 亚洲一区免费视频| 亚洲国产成人久久99精品| 亚洲精品韩国美女在线| 亚洲欧洲第一a在线观看| 亚洲妇熟XXXX妇色黄| 亚洲人成人一区二区三区| 亚洲一区二区高清| 亚洲AV无码乱码在线观看牲色| 国产网站免费观看| 国产乱子影视频上线免费观看| 麻豆成人精品国产免费| 看全色黄大色大片免费久久| 日韩精品免费电影| 日韩精品视频免费网址| 免费人成在线观看网站品爱网日本| 日韩成人免费在线| 国产在线不卡免费播放| 免费jjzz在线播放国产| 国产gav成人免费播放视频| 免费播放特黄特色毛片| 亚洲七七久久精品中文国产| 国产精品xxxx国产喷水亚洲国产精品无码久久一区 | 激情小说亚洲色图|