版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
packagecom.lawstar.wwwrot.util;importjava.io.FileOutputStream;importjava.util.HashMap;importorg.apache.poi.ss.usermodel.Row;importorg.apache.poi.hssf.usermodel.*;importorg.apache.poi.ss.usermodel.*;importorg.apache.poi.ss.util.CellRangeAddressList;publicclassCreateExcelMoBusiness{privatestaticStringEXCEL_HIDE_SHEET_NAME="excelhidesheetname";privatestaticStringHIDE_SHEET_NAME_PROVINCE="provinceList";privateHashMapmap=newHashMap();//設置下拉列表的內容privatestaticString[]provinceList={" 浙江","山東"};publicstaticvoidmain(String[]args){//使用事例Workbookwb=newHSSFWorkbook();createExcelMo(wb);creatExcelHidePage(wb);setDataValidation(wb);FileOutputStreamfileOut;try{fileOut=newFileOutputStream("d://test1.xls");wb.write(fileOut);fileOut.close();}catch(Exceptione){e.printStackTrace();publicstaticvoid createExcelMo(Workbookwb){Sheetsheet=wb.createSheet("用戶分類添加批導");//Createarowandputsomecellsinit.Rowsare0based.Rowrow=sheet.createRow(0);Cellcell=row.createCell(0);cell.setCellValue("手機號碼");cell=row.createCell(1);cell.setCellValue("所屬父類");}/***設置模板文件的橫向表頭單元格的樣式*@paramwb*@return*/publicstaticvoidcreatExcelHidePage(Workbookworkbook){SheethideInfoSheet=workbook.createSheet(EXCEL_HIDE_SHEET_NAME);//隱藏一些信息//在隱藏頁設置選擇信息//第二行設置省份名稱列表RowprovinceNameRow=hideInfoSheet.createRow(1);creatRow(provinceNameRow,provinceList);//第二行設置省份名稱列表creatExcelNameList(workbook,HIDE_SHEET_NAME_PROVINCE,2,provinceList.length,false);//設置隱藏頁標志workbook.setSheetHidden(workbook.getSheetIndex(EXCEL_HIDE_SHEET_NAME),true);}/***創(chuàng)建一個名稱*@paramworkbook*/privatestaticvoidcreatExcelNameList(Workbookworkbook,StringnameCode,intorder,intsize,booleancascadeFlag){Namename;name=workbook.createName();name.setNameName(nameCode);name.setRefersToFormula(EXCEL_HIDE_SHEET_NAME+"!"+creatExcelNameList(order,size,cascadeFlag));}/***名稱數據行列計算表達式*@paramworkbook*/privatestaticStringcreatExcelNameList(intorder,intsize,booleancascadeFlag){charstart='A';if(cascadeFlag){start='B';if(size<=25){charend=(char)(start+size-1);return"$"+start+"$"+order+":$"+end+"$"+order;}else{* * 使用已定義的數據源方式設置一個數據驗證}}charendPrefix='A';charendSuffix='A';if((size-25)/26==0||size==51){//26-51之間,包括邊界(僅兩次字母表計算)if((size-25)%26==0){//邊界值endSuffix=(char)('A'+25);}else{endSuffix=(char)('A'+(size-25)%26-1);}}else{//51以上if((size-25)%26==0){endSuffix=(char)('A'+25);endPrefix=(char)(endPrefix+(size-25)/26-1);}else{endSuffix=(char)('A'+(size-25)%26-1);endPrefix=(char)(endPrefix+(size-25)/26);}}return"$"+start+"$"+order+":$"+endPrefix+endSuffix+"$"+order;}}else{if(size<=26){charend=(char)(start+size-1);return"$"+start+"$"+order+":$"+end+"$"+order;}else{charendPrefix='A';charendSuffix='A';if(size%26==0){endSuffix=(char)('A'+25);if(size>52&&size/26>0){endPrefix=(char)(endPrefix+size/26-2);}else{endSuffix=(char)('A'+size%26-1);if(size>52&&size/26>0){endPrefix=(char)(endPrefix+size/26-1);}}return"$"+start+"$"+order+":$"+endPrefix+endSuffix+"$"+order;}創(chuàng)建一列數據*@paramcurrentRow*@paramtextList*/privatestaticvoidcreatRow(RowcurrentRow,String[]textList){if(textList!=null&&textList.length>0){inti=0;for(StringcellValue:textList){CelluserNameLableCell=currentRow.createCell(i++);userNameLableCell.setCellValue(cellValue);}}}/***添加數據驗證選項*@paramsheet*/publicstaticvoidsetDataValidation(Workbookwb){intsheetIndex=wb.getNumberOfSheets();if(sheetIndex>0){for(inti=0;i<sheetIndex;i++){Sheetsheet=wb.getSheetAt(i);if(!EXCEL_HIDE_SHEET_NAME.equals(sheet.getSheetName())){DataValidationdata_validation_list=null;//省份選項添加驗證數據for(inta=2;a<3002;a++){data_validation_list=getDataValidationByFormula(HIDE_SHEET_NAME_PROVINCE,a,2);sheet.addValidationData(data_validation_list);}}}}/**}}*@paramformulaString*@paramnaturalRowIndex*@paramnaturalColumnIndex*@return*/privatestaticDataValidationgetDataValidationByFormula(StringformulaString,intnaturalRowIndex,intnaturalColumnIndex){//加載下拉列表內容DVConstraintconstraint=DVConstraint.createFormulaListConstraint(formulaString);//設置數據有效性加載在哪個單元格上。//四個參數分別是:起始行、終止行、起始列、終止列intfirstRow=naturalRowIndex-1;intlastRow=naturalRowIndex-1;intfirstCol=naturalColumnIndex-1;intlastCol=naturalColumnIndex-1;CellRangeAddressListregions=newCellRangeAddressList(firstRow,lastRow,1,1);//數據有效性對象DataValidationdata_validation_list=newHSSFDa
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 網絡客服工作總結及時解答解決用戶問題
- 食品行業(yè)食品安全培訓總結
- AIDS抗病毒治療課件
- 2025年全球及中國血流動力學監(jiān)測解決方案行業(yè)頭部企業(yè)市場占有率及排名調研報告
- 2025-2030全球新能源交流繼電器行業(yè)調研及趨勢分析報告
- 2025-2030全球剛性墻庇護所行業(yè)調研及趨勢分析報告
- 2025年全球及中國游戲視頻背景音樂行業(yè)頭部企業(yè)市場占有率及排名調研報告
- 2025-2030全球滑移轉向巖石拾取器行業(yè)調研及趨勢分析報告
- 2025-2030全球甲氧氯普胺片行業(yè)調研及趨勢分析報告
- 2025年全球及中國工業(yè)級硅酸鉀行業(yè)頭部企業(yè)市場占有率及排名調研報告
- 充電樁知識培訓課件
- 2025年七年級下冊道德與法治主要知識點
- 2025年交通運輸部長江口航道管理局招聘4人歷年高頻重點提升(共500題)附帶答案詳解
- 老年髖部骨折患者圍術期下肢深靜脈血栓基礎預防專家共識(2024版)解讀
- 偏癱足內翻的治療
- 藥企質量主管競聘
- 信息對抗與認知戰(zhàn)研究-洞察分析
- 心腦血管疾病預防課件
- 手術室??谱o士工作總結匯報
- 2025屆高三聽力技巧指導-預讀、預測
- 蘇州市2025屆高三期初陽光調研(零模)政治試卷(含答案)
評論
0/150
提交評論