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

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

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

    Sunspl

    Hello,everyone,i am sun. 天道酬勤,笨鳥先飛.
    隨筆 - 47, 文章 - 0, 評論 - 24, 引用 - 0
    數(shù)據(jù)加載中……

    2008年6月26日

    JAVA架構(gòu)師學(xué)習(xí)方向

    請點我查閱:JAVA架構(gòu)師

    posted @ 2018-10-26 14:12 JavaSuns 閱讀(182) | 評論 (0)編輯 收藏

    POI操作

    package cc.dynasoft.struts.action;

    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.util.Iterator;
    import java.util.List;
    import java.util.Vector;

    import org.apache.poi.hssf.usermodel.HSSFCell;
    import org.apache.poi.hssf.usermodel.HSSFCellStyle;
    import org.apache.poi.hssf.usermodel.HSSFFont;
    import org.apache.poi.hssf.usermodel.HSSFFooter;
    import org.apache.poi.hssf.usermodel.HSSFHeader;
    import org.apache.poi.hssf.usermodel.HSSFPrintSetup;
    import org.apache.poi.hssf.usermodel.HSSFRow;
    import org.apache.poi.hssf.usermodel.HSSFSheet;
    import org.apache.poi.hssf.usermodel.HSSFWorkbook;
    import org.apache.poi.hssf.util.HSSFColor;
    import org.apache.poi.hssf.util.Region;

    import cc.dynasoft.bean.Department;

    ///import org.apache.poi.hssf.record.HeaderRecorder;

    public class OutputExcel {

    public static boolean outputExcel(ExcelArgs args, List title, List list) {
     try {
      int cellNum = args.getCellNum(); // workbook
      int rowNum = args.getRowNum();
      /**
       * 建立表格設(shè)置。
       */
      HSSFWorkbook wb = new HSSFWorkbook(); // create the new Workbook
      HSSFSheet sheet = wb.createSheet(args.getSheetName()); // create
      /**
       * 打印設(shè)置
       */
      HSSFPrintSetup hps = sheet.getPrintSetup();
      hps.setPaperSize((short) 9); // 設(shè)置A4紙
      // hps.setLandscape(true); // 將頁面設(shè)置為橫向打印模式
      sheet.setHorizontallyCenter(true); // 設(shè)置打印頁面為水平居中
      // sheet.setVerticallyCenter(true); // 設(shè)置打印頁面為垂直居中
      wb.setPrintArea(0, "$A$2:$e$" + rowNum + 2);// 打印區(qū)域設(shè)置.
      /**
       * 設(shè)置表的Footer
       */
      HSSFFooter footer = sheet.getFooter();
      // 設(shè)置footer的位置和顯示的內(nèi)容
      footer.setCenter("Time:" + HSSFFooter.date());
      footer.setRight("Page " + HSSFFooter.page() + " of "
        + HSSFFooter.numPages());
      /**
       * 設(shè)置表的Header
       */
      // 設(shè)置header的位置,共有三種位置和相應(yīng)的顯示設(shè)置
      HSSFHeader header = sheet.getHeader();
      // header.setRight("Center Header");
      // header.setLeft("Left Header");
      header.setCenter(HSSFHeader.font("Stencil-Normal", "Italic")
        + HSSFHeader.fontSize((short) 30) + args.getHeaderTitle());
      // header.endDoubleUnderline();
      header.startUnderline();
      /**
       * 設(shè)置列的寬度
       */
      sheet.setColumnWidth((short) 2,
        (short) ((30 * 8) / ((double) 1 / 10)));
      sheet.setColumnWidth((short) 3,
        (short) ((40 * 8) / ((double) 1 / 10)));
      sheet.setColumnWidth((short) 4,
        (short) ((50 * 8) / ((double) 1 / 20)));
      /**
       * 創(chuàng)建第一行,也就是顯示的標(biāo)題, 可以高置的高度,單元格的格式,顏色,字體等設(shè)置. 同時可以合并單元格.
       */
      HSSFRow row0 = sheet.createRow(0); // 創(chuàng)建0行
      row0.setHeight((short) 0x300); // 設(shè)直行的高度.
      HSSFFont font2 = wb.createFont(); // 創(chuàng)建字體格式
      font2.setColor(HSSFFont.SS_NONE); // 設(shè)置單元格字體的顏色.
      font2.setFontHeight((short) 700); // 設(shè)置字體大小
      font2.setFontName("Courier New"); // 設(shè)置單元格字體
      HSSFCell cell0 = row0.createCell((short) 0); // 創(chuàng)建0行0列.
      HSSFCellStyle style3 = wb.createCellStyle(); // 創(chuàng)建單元格風(fēng)格.
      style3.setAlignment(HSSFCellStyle.VERTICAL_CENTER); // 垂直居中
      style3.setAlignment(HSSFCellStyle.ALIGN_CENTER); // /水平居中
      style3.setFont(font2); // 將字體格式加入到單元格風(fēng)格當(dāng)中
      // cell0.setCellType()
      cell0.setCellStyle(style3); // 設(shè)置單元格的風(fēng)格.
      cell0.setCellValue(args.getHeaderTitle()); // 設(shè)置單元的內(nèi)容.
      sheet.addMergedRegion(new Region(0, (short) 0, 0,
        (short) (cellNum - 1)));// 指定合并區(qū)域,前二個參數(shù)為開始處X,Y坐標(biāo).后二個為結(jié)束的坐標(biāo).
      /**
       * 設(shè)置其它數(shù)據(jù) 設(shè)置風(fēng)格
       */
      HSSFCellStyle style = wb.createCellStyle();
      style.setBorderBottom(HSSFCellStyle.BORDER_THIN); // 設(shè)置單無格的邊框為粗體
      style.setBottomBorderColor(HSSFColor.BLACK.index); // 設(shè)置單元格的邊框顏色.
      style.setBorderLeft(HSSFCellStyle.BORDER_THIN);
      style.setLeftBorderColor(HSSFColor.BLACK.index);
      style.setBorderRight(HSSFCellStyle.BORDER_THIN);
      style.setRightBorderColor(HSSFColor.BLACK.index);
      style.setBorderTop(HSSFCellStyle.BORDER_THIN);
      style.setTopBorderColor(HSSFColor.BLACK.index);
      // style.setWrapText(true);//文本區(qū)域隨內(nèi)容多少自動調(diào)整

      // style.setFillForegroundColor(HSSFColor.LIME.index);
      // style.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
      /**
       * 設(shè)置風(fēng)格1
       */
      HSSFCellStyle style1 = wb.createCellStyle();
      style1.setBorderBottom(HSSFCellStyle.BORDER_THIN); // 設(shè)置單無格的邊框為粗體
      style1.setBottomBorderColor(HSSFColor.BLACK.index); // 設(shè)置單元格的邊框顏色.
      style1.setBorderLeft(HSSFCellStyle.BORDER_THIN);
      style1.setLeftBorderColor(HSSFColor.BLACK.index);
      style1.setBorderRight(HSSFCellStyle.BORDER_THIN);
      style1.setRightBorderColor(HSSFColor.BLACK.index);
      style1.setBorderTop(HSSFCellStyle.BORDER_MEDIUM);
      style1.setTopBorderColor(HSSFColor.BLACK.index);
      style1.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);// 最好的設(shè)置Pattern
      // 單元格背景的顯示模式.
      style1.setFillForegroundColor(new HSSFColor.RED().getIndex()); // 設(shè)置單元格背景色;
      style1.setAlignment(HSSFCellStyle.ALIGN_CENTER); // 水平對齊方式
      // style1.setWrapText(true);//文本區(qū)域隨內(nèi)容多少自動調(diào)整
      // style.setFillPattern(HSSFCellStyle.//);
      // 設(shè)置字體Color,首先創(chuàng)建Font對象,后對font設(shè)置,然后做為參數(shù)傳給style
      HSSFFont font = wb.createFont();
      font.setColor(HSSFFont.SS_NONE);
      // font.setFontHeightInPoints((short)24);
      font.setFontName("Courier New");
      // font.setItalic(true);
      // font.setStrikeout(true);//給字體加上刪除線
      font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
      style1.setFont(font);
      /**
       *
       * 設(shè)置第零行表格說明行
       *
       *
       *
       */
      HSSFRow row1 = sheet.createRow((short) 1);
      for (int j = 0; j < cellNum; j++) {
       HSSFCell cell = row1.createCell((short) j);
       cell.setCellValue((String) title.get(j));
       cell.setCellStyle(style1);
      }
      // style.setFillPattern(HSSFCellStyle.NO_FILL);

      /**
       * 設(shè)置表的內(nèi)容主體
       */

      Iterator iter = list.iterator();
      for (int i = 2; iter.hasNext(); i++) {
       Department dep = (Department) iter.next();
       HSSFRow row = sheet.createRow((short) i);
       HSSFCell cell5 = row.createCell((short) 0);
       HSSFCell cell1 = row.createCell((short) 1);
       HSSFCell cell2 = row.createCell((short) 2);
       HSSFCell cell3 = row.createCell((short) 3);
       HSSFCell cell4 = row.createCell((short) 4);
       cell5.setCellValue(dep.getId());
       cell5.setCellStyle(style);
       cell1.setCellValue(dep.getParentId());
       cell1.setCellStyle(style);
       cell2.setCellValue(dep.getName());
       cell2.setCellStyle(style);
       cell3.setCellValue(dep.getDescription());
       cell3.setCellStyle(style);
       cell4.setCellValue(dep.getImagePath());
       cell4.setCellStyle(style);
      }
      // Write the output to a file}
      // FileOutputStream fileOut = new
      // FileOutputStream(args.getPath()+args.getFileName());
      /**
       * 對文件進(jìn)行輸出操作。
       */
      FileOutputStream fileOut = new FileOutputStream(args
        .getPathAndName());
      wb.write(fileOut);
      // fileOut.close();
     } catch (IOException ex) {
      ex.printStackTrace();
     } catch (Exception ex) {
      ex.printStackTrace();
     }
     return true;
    }

    }

    posted @ 2009-06-13 19:52 JavaSuns 閱讀(612) | 評論 (0)編輯 收藏

    linux創(chuàng)建文件夾命令

    mkdir /home/u1 創(chuàng)建文件夾/home/u1
    chown oracle /home/u1 表示改變目錄所有者為oracle賬戶;
    chgrp dba /home/u1 改變/home/u1目錄為dba所有;
    chmod 755 /home/u1 表示oracle賬戶對/home/u1目錄有755權(quán)限;
    rmdir /home/u1 表示刪除/home/u1目錄

    hostname可以查看linux的計算機名;
    whoami可以查看當(dāng)前用戶;
    pwd顯示當(dāng)前路徑;
    df查看系統(tǒng)的硬件信息
    ls -lrt l表示顯示詳細(xì)列表,-t表示按時間排序,-r反向排序

    cat orcl_ora_3436.trc|grep bucket

    以下查看相關(guān)文件內(nèi)容:
    more /etc/oratab
    cat /etc/passwd
    cat /etc/group

    posted @ 2008-07-28 09:01 JavaSuns 閱讀(38656) | 評論 (4)編輯 收藏

    Linux中復(fù)制文件或目錄的命令(為了響應(yīng)新工作,要學(xué)習(xí)一下LINUX)

    copy命令  

    該命令的功能是將給出的文件或目錄拷貝到另一文件或目錄中,同MSDOS下的copy命令一樣,功能十分強大。  

    語法: cp [選項] 源文件或目錄 目標(biāo)文件或目錄  

    說明:該命令把指定的源文件復(fù)制到目標(biāo)文件或把多個源文件復(fù)制到目標(biāo)目錄中。  

    該命令的各選項含義如下:

    - a 該選項通常在拷貝目錄時使用。它保留鏈接、文件屬性,并遞歸地拷貝目錄,其作用等于dpR選項的組合。 

    - d 拷貝時保留鏈接。  

    - f 刪除已經(jīng)存在的目標(biāo)文件而不提示。  

    - i 和f選項相反,在覆蓋目標(biāo)文件之前將給出提示要求用戶確認(rèn)。回答y時目標(biāo)文件將被覆蓋,是交互式拷貝。  

    - p 此時cp除復(fù)制源文件的內(nèi)容外,還將把其修改時間和訪問權(quán)限也復(fù)制到新文件中。  

    - r 若給出的源文件是一目錄文件,此時cp將遞歸復(fù)制該目錄下所有的子目錄和文件。此時目標(biāo)文件必須為一個目錄名。 

    - l 不作拷貝,只是鏈接文件。  

    需要說明的是,為防止用戶在不經(jīng)意的情況下用cp命令破壞另一個文件,如用戶指定的目標(biāo)文件名已存在,用cp命令拷貝文件后,這個文件就會被新源文件覆蓋,因此,建議用戶在使用cp命令拷貝文件時,最好使用i選項。

    posted @ 2008-07-28 08:59 JavaSuns 閱讀(2326) | 評論 (0)編輯 收藏

    解析oracle的rownum(學(xué)習(xí))

    對于rownum來說它是oracle系統(tǒng)順序分配為從查詢返回的行的編號,返回的第一行分配的是1,第二行是2,依此類推,這個偽字段可以用于限制查詢返回的總行數(shù),而且rownum不能以任何表的名稱作為前綴。
     舉例說明:
    例如表:student(學(xué)生)表,表結(jié)構(gòu)為:
    ID       char(6)      --學(xué)號
    name    VARCHAR2(10)   --姓名
    create table student (ID char(6), name VARCHAR2(100));
    insert into sale values('200001',‘張一’);
    insert into sale values('200002',‘王二’);
    insert into sale values('200003',‘李三’);
    insert into sale values('200004',‘趙四’);
    commit;
    (1) rownum 對于等于某值的查詢條件
    如 果希望找到學(xué)生表中第一條學(xué)生的信息,可以使用rownum=1作為條件。但是想找到學(xué)生表中第二條學(xué)生的信息,使用rownum=2結(jié)果查不到數(shù)據(jù)。因 為rownum都是從1開始,但是1以上的自然數(shù)在rownum做等于判斷是時認(rèn)為都是false條件,所以無法查到rownum = n(n>1的自然數(shù))。
    SQL> select rownum,id,name from student where rownum=1;(可以用在限制返回記錄條數(shù)的地方,保證不出錯,如:隱式游標(biāo))
    SQL> select rownum,id,name from student where rownum=1;
        ROWNUM ID     NAME
    ---------- ------ ---------------------------------------------------
             1 200001 張一
    SQL> select rownum,id,name from student where rownum =2;
        ROWNUM ID     NAME
    ---------- ------ ---------------------------------------------------
    (2)rownum對于大于某值的查詢條件
       如果想找到從第二行記錄以后的記錄,當(dāng)使用rownum>2是查不出記錄的,原因是由于rownum是一個總是從1開始的偽列,Oracle 認(rèn)為rownum> n(n>1的自然數(shù))這種條件依舊不成立,所以查不到記錄
    SQL> select rownum,id,name from student where rownum >2;
    ROWNUM ID     NAME
    ---------- ------ ---------------------------------------------------
    那如何才能找到第二行以后的記錄呀。可以使用以下的子查詢方法來解決。注意子查詢中的rownum必須要有別名,否則還是不會查出記錄來,這是因為rownum不是某個表的列,如果不起別名的話,無法知道rownum是子查詢的列還是主查詢的列。
    SQL>select * from(select rownum no ,id,name from student) where no>2;
            NO ID     NAME
    ---------- ------ ---------------------------------------------------
             3 200003 李三
             4 200004 趙四
    SQL> select * from(select rownum,id,name from student)where rownum>2;
        ROWNUM ID     NAME
    ---------- ------ ---------------------------------------------------
    (3)rownum對于小于某值的查詢條件
    如果想找到第三條記錄以前的記錄,當(dāng)使用rownum<3是能得到兩條記錄的。顯然rownum對于rownum<n((n>1的自然數(shù))的條件認(rèn)為是成立的,所以可以找到記錄。
    SQL> select rownum,id,name from student where rownum <3;
        ROWNUM ID     NAME
    ---------- ------ ---------------------------------------------------
            1 200001 張一
            2 200002 王二
    綜 上幾種情況,可能有時候需要查詢rownum在某區(qū)間的數(shù)據(jù),那怎么辦呀從上可以看出rownum對小于某值的查詢條件是人為true的,rownum對 于大于某值的查詢條件直接認(rèn)為是false的,但是可以間接的讓它轉(zhuǎn)為認(rèn)為是true的。那就必須使用子查詢。例如要查詢rownum在第二行到第三行之 間的數(shù)據(jù),包括第二行和第三行數(shù)據(jù),那么我們只能寫以下語句,先讓它返回小于等于三的記錄行,然后在主查詢中判斷新的rownum的別名列大于等于二的記 錄行。但是這樣的操作會在大數(shù)據(jù)集中影響速度。
    SQL> select * from (select rownum no,id,name from student where rownum<=3 ) where no >=2;
            NO ID     NAME
    ---------- ------ ---------------------------------------------------
             2 200002 王二
             3 200003 李三
    (4)rownum和排序
    Oracle中的rownum的是在取數(shù)據(jù)的時候產(chǎn)生的序號,所以想對指定排序的數(shù)據(jù)去指定的rowmun行數(shù)據(jù)就必須注意了。
    SQL> select rownum ,id,name from student order by name;
        ROWNUM ID     NAME
    ---------- ------ ---------------------------------------------------
             3 200003 李三
             2 200002 王二
             1 200001 張一
             4 200004 趙四
    可以看出,rownum并不是按照name列來生成的序號。系統(tǒng)是按照記錄插入時的順序給記錄排的號,rowid也是順序分配的。為了解決這個問題,必須使用子查詢
    SQL> select rownum ,id,name from (select * from student order by name);
        ROWNUM ID     NAME
    ---------- ------ ---------------------------------------------------
             1 200003 李三
             2 200002 王二
             3 200001 張一
             4 200004 趙四
    這樣就成了按name排序,并且用rownum標(biāo)出正確序號(有小到大)

    posted @ 2008-06-26 10:23 JavaSuns 閱讀(435) | 評論 (0)編輯 收藏

    主站蜘蛛池模板: 色欲aⅴ亚洲情无码AV| 中国国产高清免费av片| 亚洲第一成人影院| 国产无遮挡无码视频免费软件| 亚洲国产成AV人天堂无码| 性做久久久久免费看| 国产成人无码免费看片软件 | 亚洲色图综合网站| 成人免费无码大片A毛片抽搐| 一级特级aaaa毛片免费观看| 亚洲精品在线免费观看视频| 免费jjzz在线播放国产| 亚洲精品视频免费看| 极品美女一级毛片免费| 亚洲韩国在线一卡二卡| 亚洲精品在线视频| 全免费毛片在线播放| 国产真人无码作爱免费视频 | 亚洲av无码无线在线观看 | 亚洲在成人网在线看| 亚洲精品天堂成人片?V在线播放| 亚洲精品视频免费在线观看| 免费手机在线看片| 77777亚洲午夜久久多喷| 亚洲国产另类久久久精品黑人| 免费特级黄毛片在线成人观看| 午夜影院免费观看| 久青草国产免费观看| 亚洲暴爽av人人爽日日碰| 久久久久亚洲AV无码专区首JN| 久久久久无码专区亚洲av| 国产精品免费看久久久久| 日韩亚洲国产高清免费视频| 久章草在线精品视频免费观看 | 99久久99这里只有免费费精品 | 全亚洲最新黄色特级网站 | 免费人成激情视频| 黄网址在线永久免费观看| 成人免费的性色视频| 222www在线观看免费| 一级毛片成人免费看免费不卡|