欧美成人午夜精品久久久,国产?V天堂一区二区三区,欧美精品va在线观看,亚洲一区二区三区免费在线观看,av无码精品一区二区久久,欧美性爱视频不卡一区三区,欧美乱人伦视频在线观看,国产一级牲交高潮

ARTICLE DETAIL

資訊詳情

深耕商務建站與企業(yè)官網(wǎng)運營的一線實戰(zhàn)洞察。

Apache POI全攻略:Excel/Word/PPT解析、讀寫與性能優(yōu)化

Apache POI全攻略:Excel/Word/PPT解析、讀寫與性能優(yōu)化 做Java后端這幾年只要碰到解析Excel、生成Word報表、提取PPT內容這類需求十有八九繞不開Apache POI。這個庫就像Office文檔世界里的萬能轉換器xls、xlsx、doc、docx、ppt、pptx……只要你想讀想寫它基本都能接得住。這篇文章我就把用POI處理常見文件類型的經驗整理一遍從選型、讀寫實操到排查問題一次說透。不管你是剛接觸POI的新手還是已經被大文件內存溢出折磨過的老手都能在這里找到點有用的東西。我的建議是先花幾分鐘把組件選型和對象模型搞清楚再去看代碼。很多人一上來就寫new HSSFWorkbook()等到文件稍微大點就OOM其實就是第一步選型就沒想明白。1. 內容整體設計與思路拆解1.1 POI的組件劃分與文件格式對應關系POI不是一個大而全的單一庫它是按Office文檔類型拆成好幾個組件的。核心的幾塊POIFSOLE2復合文檔的底層解析庫HSSF和HWPF都依賴它。HSSF處理.xls也就是Excel 97-2003格式。XSSF處理.xlsx也就是Excel 2007的OOXML格式。SXSSFXSSF的流式版本專門用來寫超大Excel文件內存占用極低。HWPFXWPF分別處理.doc和.docx。HSLFXSLF分別處理.ppt和.pptx。這里最需要注意的一點是HSSF只認.xlsXSSF只認.xlsx兩者API雖然長得像但對象體系是平行的不能混用。你拿HSSFWorkbook去讀xlsx運行時會直接拋異常。所以在設計工具類時我通常用WorkbookFactory.create(InputStream)這個入口它會根據(jù)文件流的前幾個字節(jié)自動判斷是HSSF還是XSSF然后把對應的工作簿對象返回給你。雖然這會在上層多做一層instanceof判斷但至少避免了手動指定格式帶來的誤判。1.2 為什么要用POI而不是別的方式有段時間網(wǎng)上流行用EasyExcel或FastExcel這兩個框架確實封裝得很舒服尤其是阿里開源的EasyExcel寫起來比原生POI短很多。但我的看法是EasyExcel解決的是“Excel讀寫”這一個場景而POI解決的是“Office文檔”這一整個面。你遲早會遇到這樣幾個需求讀取Word文檔里的段落和表格。批量替換PPT模板里的占位符文本。解析docx里嵌入的OLE對象。操作Excel里的圖表、圖片、數(shù)據(jù)透視表。這些需求就目前來看EasyExcel做不到只有POI能覆蓋。而且很多框架內部底層用的還是POI只是套了新殼。所以就算你的日常需求只是讀寫Excel我也建議從POI的API入手把基礎認知建立起來后面學什么封裝框架都很快。2. 選型沒錯Excel讀寫才算入門2.1 三種Excel操作模式的取舍Excel操作涉及HSSF、XSSF、SXSSF三個模式初學者經常糾結用哪個。我的建議很直接讀文件用WorkbookFactory.create()自動判斷不需要手動指定。寫.xls小文件用HSSFWorkbook簡單內存可接受。寫.xlsx小文件用XSSFWorkbook數(shù)據(jù)量在幾萬行以內都沒問題。寫超大.xlsx文件用SXSSFWorkbook通過滑動窗口控制內存。很多人沒有意識到的點是XSSFWorkbook寫入時所有行對象和數(shù)據(jù)都駐留在內存里當你寫到10萬行以上內存占用輕松超過幾百MB嚴重的直接OOM。而SXSSFWorkbook通過一個“窗口”來控制駐留內存的行數(shù)窗口之外的行會被刷寫到磁盤臨時文件內存占用一下就降下來了。模式對應格式內存特征適用場景HSSF.xls全部駐留內存少量數(shù)據(jù)兼容老格式XSSF.xlsx全部駐留內存常規(guī)Excel操作樣式復雜SXSSF.xlsx窗口內駐留內存超出寫磁盤大數(shù)據(jù)量導出報表生成另外要提醒一句SXSSFWorkbook只支持寫入不支持讀取。如果你想邊讀邊寫超大文件不能指望SXSSF幫你完成讀取操作讀取還是得靠XSSF。2.2 對象模型從工作簿到單元格的四級結構POI的Excel模型是清晰的四級結構寫代碼之前先把這個結構在腦子里過一遍Workbook整個Excel文件一個文件對應一個Workbook實例。Sheet一個工作簿里的某個工作表。一個Workbook可以包含多個Sheet。Row工作表中的一行坐標從0開始。Cell行中的一個單元格坐標也是從0開始。實際操作中很容易犯的錯是直接拿row.getCell(0)不做空值判斷。在Excel里一個行對象即使某些單元格沒寫內容行本身是存在的但如果你用sheet.getRow(5)第5行如果完全沒被使用過getRow會返回null。同樣的row.getCell(2)在單元格內容為空時也可能返回null。我的習慣是封裝一個工具方法private Cell getCellOrEmpty(Row row, int index) { Cell cell row.getCell(index); return cell ! null ? cell : row.createCell(index); }讀的時候用getCell拿到就直接用避免NPE寫的時候用這個工具方法確保單元格一定存在。這個習慣幫我省了不少調試時間。3. 核心細節(jié)解析與實操要點3.1 讀取Excel的關鍵細節(jié)類型判斷與日期處理讀取表格的時候大多數(shù)人第一步就踩坑。直接用cell.getStringCellValue()去取值如果這個單元格是數(shù)字類型直接拋異常。所以讀取之前一定要判斷單元格類型。POI提供了CellType枚舉常見的值有STRING、NUMERIC、BOOLEAN、FORMULA、BLANK等。這里最坑的是日期。在POI里日期和數(shù)字在底層都是NUMERIC類型區(qū)分它們的唯一方法是DateUtil.isCellDateFormatted(cell)。這個方法通過檢查單元格的數(shù)字格式來判斷它是不是日期格式。所以在讀單元格時我的標準寫法是switch (cell.getCellType()) { case NUMERIC: if (DateUtil.isCellDateFormatted(cell)) { SimpleDateFormat sdf new SimpleDateFormat(yyyy-MM-dd HH:mm:ss); value sdf.format(cell.getDateCellValue()); } else { value String.valueOf(cell.getNumericCellValue()); } break; case STRING: value cell.getStringCellValue(); break; case BOOLEAN: value String.valueOf(cell.getBooleanCellValue()); break; case FORMULA: value cell.getCellFormula(); break; default: value ; }另外一個容易被忽視的點是getNumericCellValue()返回的是double如果你拿它去拼接字符串遇到長數(shù)字ID比如業(yè)務編號、手機號會被轉成科學計數(shù)法。比如1.2345678E7這種形式給前端肯定是不能用的。解決辦法是先用BigDecimal.valueOf(cell.getNumericCellValue()).toPlainString()轉成普通字符串或者直接判斷單元格的格式類型后再處理。3.2 寫入Excel的關鍵細節(jié)樣式、日期與單元格類型寫入Excel比讀取稍微簡單但依然有講究。第一是樣式對象復用。POI里創(chuàng)建樣式是一個相對重的操作每創(chuàng)建一個CellStyle就對應底層一個樣式記錄。如果你在循環(huán)里每一行都新建樣式文件體積會暴漲而且生成速度肉眼可見地變慢。正確做法是把需要用的幾種樣式提前創(chuàng)建好循環(huán)里直接給單元格setStyle。CellStyle headerStyle workbook.createCellStyle(); Font headerFont workbook.createFont(); headerFont.setBold(true); headerFont.setColor(IndexedColors.WHITE.getIndex()); headerStyle.setFont(headerFont); headerStyle.setFillForegroundColor(IndexedColors.DARK_BLUE.getIndex()); headerStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND);第二是日期寫入。直接cell.setCellValue(new Date())也能寫入但顯示出來可能是一串數(shù)字。原因是默認單元格格式不是日期格式。正確的做法是創(chuàng)建一個日期格式的CellStyleCellStyle dateStyle workbook.createCellStyle(); dateStyle.setDataFormat(workbook.createDataFormat().getFormat(yyyy-MM-dd HH:mm:ss)); cell.setCellStyle(dateStyle); cell.setCellValue(new Date());第三是單元格類型先設后寫。寫字符串之前最好先cell.setCellType(CellType.STRING)寫數(shù)字之前設成NUMERIC。雖然POI很多時候會自動轉換但手動設置類型能防止一些老版本兼容問題。3.3 表格公式與單元格引用的處理POI支持寫入公式寫入方式很簡單cell.setCellFormula(SUM(A1:A10))。但有個坑是用POI寫入公式后打開文件時舊版Office會顯示0不會自動計算。這是因為POI寫入的公式單元格沒有緩存計算結果。解決辦法有幾種在寫入公式后用workbook.getCreationHelper().createFormulaEvaluator().evaluateAll()手動計算結果并緩存。如果不需要動態(tài)計算直接在POI生成文件前計算好結果把結果值寫入單元格這樣最穩(wěn)妥。設置Workbook.setForceFormulaRecalculation(true)強制Office打開文件時重新計算。實測下來用evaluateAll()在大多數(shù)情況下能解決顯示問題但如果公式本身依賴跨Sheet引用建議做一次完整的打開驗證。這個我后面在問題排查部分還會提到。4. 實操過程與核心環(huán)節(jié)實現(xiàn)Excel大數(shù)據(jù)導出與服務端解析4.1 大數(shù)據(jù)量導出SXSSFWorkbook的滑動窗口原理與調優(yōu)先直接說我測試過的場景某次模擬項目需要導出50萬行、20列的Excel業(yè)務流水。用XSSFWorkbook寫寫到大概20萬行時內存就已經飆到將近1.5GB再往后直接拋出OutOfMemoryError。換成SXSSFWorkbook之后內存穩(wěn)定在200MB以內。SXSSF的核心機制是“滑動窗口”new SXSSFWorkbook(windowSize)中的windowSize表示內存中保留的行數(shù)。每新增一行超過windowSize范圍的行就會被刷寫到臨時文件。windowSize默認是100但我在實際項目里通常設置成1000因為SXSSF的行對象本身比較輕1000這個數(shù)量級對內存影響不大又能減少頻繁刷盤帶來的I/O開銷。SXSSFWorkbook workbook new SXSSFWorkbook(1000); SXSSFSheet sheet workbook.createSheet(流水數(shù)據(jù)); // 寫表頭 Row headerRow sheet.createRow(0); // ... 設置表頭樣式和內容 // 寫數(shù)據(jù)50萬行數(shù)據(jù)循環(huán)寫入 int rowNum 1; for (SomeData data : largeDataList) { Row row sheet.createRow(rowNum); row.createCell(0).setCellValue(data.getId()); row.createCell(1).setCellValue(data.getName()); // ... } // 關鍵把臨時文件刷到輸出流然后清理臨時文件 workbook.write(outputStream); workbook.dispose();這里的dispose()很多人會漏掉。SXSSFWorkbook在寫完后會留下臨時文件如果不顯式調用dispose()臨時文件不會被清理可能造成磁盤空間持續(xù)被占用。我見過一個生產環(huán)境出問題就是沒調dispose每次導出都留下幾十MB的臨時文件跑了幾個月磁盤滿了。還有一個調優(yōu)點是sheet.trackAllColumnsForAutoSizing()。如果你用了sheet.autoSizeColumn()系統(tǒng)需要掃描每一列的所有行來計算列寬。在大數(shù)據(jù)量下這個操作會嚴重影響性能。我的建議是大數(shù)據(jù)導出根本不要用autoSizeColumn直接在代碼里根據(jù)業(yè)務數(shù)據(jù)長度計算最大列寬然后setColumnWidth就完了。4.2 服務端做Excel解析的全流程文件流、WorkbookFactory與流關閉服務端接收上傳的Excel文件解析入庫這是一個非常常見的場景。完整的流程并不復雜但細節(jié)決定成敗。首先是文件流的問題。很多人喜歡把上傳的MultipartFile直接轉成InputStream丟給POI這本身沒錯但要注意POI的XSSF解析器在解析xlsx時底層使用的是ZipInputStream解析過程中會從流里讀取大量數(shù)據(jù)。如果你傳入的InputStream網(wǎng)絡不穩(wěn)定或者沒有緩沖很容易出現(xiàn)IOException。所以我在傳流之前都會先把他包裝成BufferedInputStream給IO加一層緩沖。try (InputStream fis new BufferedInputStream(file.getInputStream())) { Workbook workbook WorkbookFactory.create(fis); // 解析邏輯... }然后是Workbook使用完必須關閉。HSSFWorkbook和XSSFWorkbook都實現(xiàn)了Closeable不關閉會占著文件句柄不釋放。特別是在Windows環(huán)境下不關閉工作簿Excel文件會被鎖定后續(xù)刪除文件會提示“文件被占用”。解析時的核心邏輯是按行遍歷但要注意空行。用戶隨手敲了幾行空格POI里sheet.getRow()會返回null或者Row對象存在但所有單元格都是空的。所以解析循環(huán)里要加一個判斷for (Row row : sheet) { if (row null || isRowEmpty(row)) { continue; } // 處理業(yè)務邏輯 } private boolean isRowEmpty(Row row) { for (int c row.getFirstCellNum(); c row.getLastCellNum(); c) { Cell cell row.getCell(c); if (cell ! null cell.getCellType() ! CellType.BLANK) { return false; } } return true; }4.3 樣式讀取與合并單元格處理讀Excel時業(yè)務上偶爾需要讀出單元格的合并范圍或者背景色。合并單元格的判斷用sheet.getMergedRegions()返回的是一個CellRangeAddress列表。遇到合并單元格時POI的規(guī)則是合并區(qū)域中只有左上角的單元格是有值的其他右下區(qū)域都是空白。如果你遍歷所有單元格去取值合并區(qū)域里非左上角的單元格會拿到null或空字符串。這時候需要先構建一個合并區(qū)域到值的映射再去填數(shù)據(jù)否則解析出來的表格內容會缺一塊。MapString, String mergedValueMap new HashMap(); for (CellRangeAddress range : sheet.getMergedRegions()) { int firstRow range.getFirstRow(); int firstCol range.getFirstColumn(); Cell cell sheet.getRow(firstRow).getCell(firstCol); String value getCellValue(cell); for (int r range.getFirstRow(); r range.getLastRow(); r) { for (int c range.getFirstColumn(); c range.getLastColumn(); c) { mergedValueMap.put(r _ c, value); } } }這樣后面取值時先看單元格本身有沒有值沒有就到這個映射里查基本能保證合并單元格的內容不丟。這個技巧在處理復雜報表時非常實用。5. Word與PPTPOI的另一半能力5.1 XWPF處理docx讀取段落、表格、修訂內容很多人以為POI只能弄Excel實際上Word處理也是POI的主場。處理.docx用的是XWPF組件核心對象是XWPFDocument。一個文檔由若干個XWPFParagraph段落和XWPFTable表格組成。讀取Word段落文本代碼非常簡單XWPFDocument document new XWPFDocument(new FileInputStream(xxx.docx)); for (XWPFParagraph paragraph : document.getParagraphs()) { System.out.println(paragraph.getText()); }表格解析稍微復雜一點for (XWPFTable table : document.getTables()) { for (XWPFTableRow row : table.getRows()) { for (XWPFTableCell cell : row.getTableCells()) { System.out.println(cell.getText()); } } }這里有個實際工作里經常遇到的坑Word里的段落不只有正文表格里的內容也會被拆分到document.getParagraphs()里嗎答案是不會。表格內容在getTables()里正文在getParagraphs()里但如果表格跑到文本框里或者嵌套在頁眉頁腳里這兩個方法都可能拿不到。遇到復雜的docx我一般用document.getBodyElements()遍歷所有body元素再逐個判斷是段落還是表格。寫入Word相對簡單創(chuàng)建XWPFParagraph然后paragraph.createRun().setText(內容)就能寫入文本。但要注意POI對docx的樣式支持比較弱如果你需要復雜的排版比如頁眉頁腳、分頁符、目錄POI寫起來會非常痛苦。我的經驗是如果只是生成簡單文本報告POI完全夠用如果是要生成精美合同或正式公文建議用模板引擎配合docx4j或者干脆用Word模板填充的方式。5.2 XSLF處理pptx從幻燈片里提取文本與批量替換PPT的讀取也是常見需求尤其是“從幾十個PPT里批量提取全部文字”這種工作。XSLF組件處理.pptx核心對象是XMLSlideShow。一個演示文稿包含多個XSLFSlide每個slide里有多個XSLFShape可能是文本框、圖片、表格等。XMLSlideShow ppt new XMLSlideShow(new FileInputStream(xxx.pptx)); for (XSLFSlide slide : ppt.getSlides()) { for (XSLFShape shape : slide.getShapes()) { if (shape instanceof XSLFTextShape) { XSLFTextShape textShape (XSLFTextShape) shape; System.out.println(textShape.getText()); } } }批量替換PPT模板里的占位符文本時也有一個坑PPT里的文本框可能包含多個文本段落每個段落里有多個Run直接把占位符字符串塞進setText()會丟失樣式和段落格式。正確做法是遍歷每個XSLFTextParagraph再遍歷每個XSLFTextRun在run級別做字符串替換。這樣替換后能保留原來字體、大小、顏色等格式。if (shape instanceof XSLFTextShape) { XSLFTextShape textShape (XSLFTextShape) shape; for (XSLFTextParagraph paragraph : textShape.getTextParagraphs()) { for (XSLFTextRun run : paragraph.getTextRuns()) { String rawText run.getRawText(); if (rawText ! null rawText.contains(${name})) { run.setText(rawText.replace(${name}, 某開發(fā)者)); } } } }這個方案實測穩(wěn)定生成的文件在Office和WPS里都能正常打開。如果是處理.ppt老格式用HSLF組件API和XSLF基本對稱同樣適用。6. 常見問題與排查技巧實錄6.1 問題速查表癥狀、原因、解法癥狀原因解法打開POI生成的Excel提示文件損壞寫入過程中未關閉Workbook或寫入后未flush輸出流確保使用try-with-resources關閉Workbook并在關閉前調用workbook.write日期單元格讀出來是數(shù)字單元格格式類型不是日期格式DateUtil.isCellDateFormatted返回false檢查源文件的單元格格式或者在代碼里加一層自定義日期判斷邏輯長數(shù)字ID顯示為科學計數(shù)法getNumericCellValue()返回double后直接轉字符串用BigDecimal.valueOf(...).toPlainString()處理公式單元格顯示0POI寫入公式但沒有緩存計算結果使用FormulaEvaluator.evaluateAll()計算結果或設置setForceFormulaRecalculation(true)大文件寫入OOM使用XSSFWorkbook而非SXSSFWorkbook數(shù)據(jù)量大時改用SXSSFWorkbook并設置合理窗口大小解析得到的合并單元格數(shù)據(jù)缺失合并區(qū)域只有左上角有值構建合并區(qū)域到值的映射POI導入依賴后方法找不到版本沖突引了低版本的POI依賴統(tǒng)一POI版本排除傳遞性依賴檢查版本號6.2 版本依賴沖突這個隱形殺手POI項目里的坑有一大半不是代碼問題而是依賴問題。POI的包拆得很細poi、poi-ooxml、poi-ooxml-schemas、poi-scratchpad還有個xmlbeans。這些包的版本必須嚴格對應否則運行時會遇到各種NoClassDefFoundError或NoSuchMethodError排查起來非常絕望。我的建議是用Maven管理依賴時POI相關的所有包全部統(tǒng)一到一個版本并且用BOM或父POM的dependencyManagement來約束。如果項目里還有其他依賴間接引用了舊版POI一定要用exclusion排除掉。dependency groupIdorg.apache.poi/groupId artifactIdpoi/artifactId version5.2.5/version /dependency dependency groupIdorg.apache.poi/groupId artifactIdpoi-ooxml/artifactId version5.2.5/version /dependency dependency groupIdorg.apache.poi/groupId artifactIdpoi-scratchpad/artifactId version5.2.5/version /dependency從我實測的版本來看5.x系列在性能和穩(wěn)定性上明顯優(yōu)于3.x系列。如果還在用3.17之類的老版本建議升級。升級后需要改的主要是各枚舉常量的命名比如Cell.CELL_TYPE_STRING這種常量改為CellType.STRING枚舉方法簽名上也有部分變化但整體遷移成本不大。6.3 關于性能實測的一些經驗數(shù)據(jù)有同學會問POI到底能跑多快這個沒法給一個固定的數(shù)字因為和機器、JVM參數(shù)、數(shù)據(jù)結構復雜度都有關。但我可以給幾組我在同樣環(huán)境下的對比數(shù)據(jù)供參考寫入10萬行、10列純字符串XSSFWorkbook耗時約8秒內存峰值約600MB。寫入50萬行、10列純字符串SXSSFWorkbook耗時約35秒內存峰值約200MB。讀取10萬行、10列數(shù)據(jù)并做簡單解析XSSFWorkbook耗時約3秒。這些數(shù)據(jù)的意義在于如果只是萬級數(shù)據(jù)量XSSF和SXSSF差別不大你可以隨便選但到了十萬級以上的導出需求SXSSF就是唯一合理選擇。JVM參數(shù)上也建議導出場景加大堆內存比如設置-Xms512m -Xmx1024m不要在默認堆大小下跑大數(shù)據(jù)量操作否則即使SXSSF也扛不住。6.4 排查問題的一個標準姿勢POI運行時報錯很多人第一反應是去搜錯誤信息搜半天可能也找不到對應的解決方案。我的排查方法比較固定第一步看異常的第一行是哪個類拋出來的。如果類名里帶org.apache.poi那問題基本就是POI自身如果是java.lang.NoClassDefFoundError那一定是依賴沖突。第二步看異常的最后一個Caused by那個才是底層根本原因。POI的異常經常被包裝好幾層只看外層信息完全沒有意義。第三步如果是讀文件報錯先確認文件本身能不能用Office打開。有時候文件被加密、損壞、或者根本不是真的Excel文件只是改了后綴名的HTML文件POI報錯是正常的這時候應該先跟前端確認文件格式規(guī)范。7. POI處理文件類型的一些擴展玩法除了Excel、Word、PPT老三樣POI還支持Visio.vsd、Publisher.pub等格式但這些邊緣格式在實際項目中很少用到我就不展開了。更值得關注的是POI在項目里的一些擴展玩法國際化Excel導出通過Locale和日期格式綁定自動給不同語言環(huán)境生成對應格式的日期、貨幣列。結合模板生成報表提前做一份帶樣式和公式的xlsx模板用POI打開后只填數(shù)據(jù)區(qū)域保留模板里的原有樣式。這個方案能省去大量樣式代碼做出來的報表外觀也最靠譜。讀取PPT備注信息XSLFSlide.getNotes()能讀取演講者備注可以做“批量提取所有PPT備注并匯總成文檔”的小工具實測效率極高。導出加密ExcelPOI支持對Workbook設置密碼workbook.writeProtectWorkbook(password, username)或sheet.protectSheet(password)。這里注意這個保護級別比較低只能防君子不能防小人如果需求是強加密建議用poi-ooxml底層的加密方式來寫。這些擴展玩法里我實際落地最多的還是模板填數(shù)據(jù)方案。做月度數(shù)據(jù)報表時把模板樣式、頁眉、Logo都提前在Excel里調好POI只負責寫入數(shù)據(jù)行。這樣不管業(yè)務怎么改樣式開發(fā)這邊基本不用動代碼改模板就夠了交付效率和維護成本都比純代碼生成樣式好太多。8. 實操中反復踩過的幾個坑最后分享幾個我在項目里真正踩過、并且導致線上事故的細節(jié)。這些不算高深技術但非常容易忽略。第一個是Workbook關閉順序。我見過有人把workbook.write(outputStream)放在finally塊里但outputStream還沒flush就關了Workbook結果文件缺失末尾數(shù)據(jù)。正確順序是先寫完Workbook再關閉Workbook最后關閉輸出流。用try-with-resources嵌套就可以保證這個順序。try (Workbook workbook new XSSFWorkbook(); ByteArrayOutputStream out new ByteArrayOutputStream()) { // 填充數(shù)據(jù) workbook.write(out); // out.toByteArray() 寫入文件或返回給前端 }第二個是SXSSF的臨時文件目錄。SXSSFWorkbook寫臨時文件默認使用系統(tǒng)臨時目錄在某些容器環(huán)境里臨時目錄權限受限會拋出java.io.IOException: No such file or directory。遇到這個問題可以用System.setProperty(java.io.tmpdir, /自定義目錄)或者顯式配置SXSSFWorkbook的臨時目錄來規(guī)避。第三個是關于內存監(jiān)控。我建議在POI處理的代碼里加一個輕量級的內存日志用Runtime.getRuntime().totalMemory() - freeMemory()算一下當前堆內存占用處理前后各打一條。這樣在上線后就能直觀看到文件操作對內存的影響不會等到OOM了才后知后覺。個人經驗是POI這個東西上手容易精通需要積累。大部分人在初期都會把時間花在死磕API上但真正決定項目穩(wěn)定性的往往是版本管理、流關閉、內存控制和異常處理這些看起來不起眼的細節(jié)。只要這幾個點都處理好了POI在絕大多數(shù)場景下都能交出讓人滿意的答卷。如果你正在為某個Office文件處理需求選型從一個小的工具類開始用POI練手我覺得是最快的入門路徑。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
婷婷丁香宗合888| 99人妻碰碰碰久久久久视| 色综色五月天婷婷| 久草婷婷| 欧美色色日韩| 国产精产国品一二三在观看| 亚洲视频操| 五月天婷基地| 久久多色| 538任你爽视频不一样的| 久久综合婷婷| 亚洲欧美婷婷五月色综合| 日韩AV免费| 婷婷在线精品| 97碰在线视频| 丁香五月天.com| 欧洲综合视频在线观看。欧洲,亚洲综合食品在线观看。 | 在线综合婷婷| 色噜噜婷婷| aaaa久久| 五月丁香色色色| 七七九色| 激情五月天偷拍综合网| 激情五月天色婷婷| 婷婷激情五月综合丁香社| 五月天综合久久| 色色欧美色色| 一起草AV入口| 日逼AV影音先锋男人资源站| 激情婷婷| 精品影院| 国精产品一区一区三区免费视频 | 婷婷深爱色五月| 久久99久久久久久久噜噜| 国产成人片| 日韩AV片| 五月丁香999| 色婷婷成人| 99热这里只有精品21| 丁香婷婷五月六月久久| 97视频91| 亚洲综合网区| 影音先锋激情网| 92久操视频| 五月天激情美女久久| 日日干天天爽| 九九99精品视频在线观看| 天天爽夜夜操| 另类激情五月| 综合网亚洲| 婷婷五月天亚洲综合| www.成人婷婷综合| 五月天婷婷久久视频| 99热骚货| 色吧五月婷婷| 99爱视频| 五月丁香啪啪| 免费看欧美成人A片无码| 殴美日比视频| 欧洲色| 这里只有精品免费视频| 噼里啪啦完整版中文在线观看| 五月丁香六月色| 婷婷丁香五月综合| 538在线精品| 99热国内精品| 丁香六月激情| 色九月综合| 影音 五月 婷婷 久久| 91人人人人人| www,超碰| 亚洲色色图片| 99免费热视频在线| 丁香婷婷激情| 婷婷五月精品| 91.com男女操| 狠狠色丁香五月婷巨| 国产成人网址| 99热这里只有精品在线播放| 久热AA| 久久九九综合| 碰99在线| 国产精品色婷婷久久久精品| 黄桃AV无码免费一区二区三区| 色吧婷婷五月亚洲| 九色亚洲| 国产精品操| 婷婷色影院| 日本色噜| 色五月丁香五月婷婷五月成人网| 九月丁香婷婷综合| 日韩在线看AV| 丁香激情四射| 激情五月亚洲综合网| 婷婷激情五月综合在线视频| 射久久丁香五月| 亚洲视频五区| 五月天激情美女久久| 日日操夜夜擼| 超碰免费大香蕉| 欧洲激情网站| 99热在这里只有精品| 丁香六月欧美| 五月丁香狠狠爱| 欧类av怡春院| 五月天丁香网站| www.天天干.com| 丁香六月视频免费观看| 大香蕉av在线| 97超碰9久热婷婷热| 超碰免费成人| 2025色婷婷| 色婷久久| 五月天网址在线刘玥| 色播色丁香五月| 九九热欧美| www好屌操| 五月丁香婷婷六月| 国产SUV精品一区二区883| 婷婷综合av| 九九色中文| 就99这里只有精品| 色婷婷综合网站| 99九九精品视频推荐| 色婷婷色九月| 九九精品视频在线观看| 青柠影视免费高清电视剧| 一区=区操屄高清大全av| 久久久性爱网| 丁香五月成人网| 五月婷在线| 无码动漫AV| 热热久久精品视频| 狠狠操综合| 色婷狠狠| 乱精品一区字幕二区| 日本久久超碰| 996er热| 99精品网| 就是色婷婷五月亚洲色| www.婷婷亚洲基地| 极品嫩草| 午夜婷婷五月天| 国产精品电影| 久er免费视频| 九九热精品| 久久艹网| 色婷婷视频在线| av国产精品| 亚洲啪视频| 情趣视频66| 欧美在线| 日日夜夜青青草| 99爱在线免费视频| 性日本激情| 99性爱视频| WWW.亚洲无码| 色婷婷六月天在线| 色情成人五月天| 99成人精品六| 亚洲亚洲人成综合网络| 五月天激情网址| 91精品久久久久久| 99久热| 婷婷五月天堂| 五月天社区| 亚洲六月色婷婷| 狠狠综合久久综合| 丁香五月天综合| 狠狠色综合久久久久| tingtingzonghewang| 亚洲色网址| 五月 成人 婷婷| 五月婷视频在线| 久久久久久久,99精品视频| 久久五月婷婷电影| 日日夜夜天天| 五月激情另类| 丁香五月婷婷色综合| 综合性视频99| 成人 AV播放| 天天色激情| 色色999三级片| www.婷婷五月天啪啪| 97五月天| 五月天色综合服务平台| 久久99大| 欧美激情VA永久在线播放| 超碰99热在线观看| 91操熟女| 婷婷五月天,影院| 99热这里只有精品8| 激情文学天天| 99在线视频网址在线观看| 丁香五月天五码婷婷| 日韩av一区二区在线/日产精品久久久| 久久只有精品| 嫩草视频。| 欧美婷婷五月天| www.久久久久久久久久久| 欧美影院| 99热在这里只有免费精品| av九九| 久操操| 激情六月天| 激情网站综合五月天| www,奇米影视| 噜噜狠狠色综合久| 99热久只有精品首页| 五月天综合网| 六月激情网| 五月天天堂久久| 亚洲激情四射| 丁香六月婷婷综合在线| 色婷婷色99国产综合精品| 99成人在线观看| 五月天开心婷婷久久| wwwav大香蕉| 熟女激情五月天| 成人五月天丁香| 啪啪91| 日本AAAAAAAAAAAAAA片| 丁香色五月 97干| 色婷婷小说| 激情欧美五月丁香| 日日日,com| 婷婷.com| 91碰碰碰| 思思热视频| 亚洲综合在线视频| 日韩精品呦呦va| 成人视频在线免费播放| 久久婷婷五月草视频在线播放| 天天干天天拍| 秋霞成人毛片一级A片| 九九精品片一| 熟女91九色| 99色色网| 99热这里只有精品8| 久草婷婷| 在线资源av-超碰中文在线-成人AV| 久久婷婷综合网| 99色视频在线观看| 超碰在线91| 欧美婷婷色五月| 九九99在线免费在线观看视频| se色婷婷视频| 99久视频| 99视频久久| 婷婷开心六月| 丁香五月激情六月| 五月丁香猫咪久久婷婷综合视频激情四射网入口 | 久久久久9| 九久久婷婷| 99久久99九九99九九九| 五月天国产| 精品国产va久久久久久久| av第一二区| 国产精产国品一二三在观看| 五月婷丁香| 天天操婷婷| 99久在线精品99re8热| 五月丁香婷婷伊人日韩| 尤物一区二区| 熟女人妻一区二区三区免费看 | 国产性爱色| 少妇被下春药玩弄A片| 成人在线综合| 日本色爽| 五月天狠狠| 五月天激情中文字幕| 欧美日韩99| 久久全色| 91久久国产综合久久| 免费看欧美成人A片无码| 五月丁香六月综合情在线观看| 伊综合蕉| AⅤ在线播放网| 96精品成人无码A片观看金桔| 九九aV| 99视频在线观看网址| 婷婷五月天亚洲色| 人人色AV| 79色色免费| 五月丁了香蕉综合| 亚洲久久视频| 久久五月人人摸| 99久久亚洲精品视频| 91久久综合亚洲噜噜成人在线| 亚洲欧美日韩另类| 色情五月| 成人网在线视频| 99ri国产精品| 大香蕉人人人| 色婷久| 99人妻碰碰碰久久久久| 五月激情婷婷国产精品久久久久久| AV亚洲在线| 超碰成人公开| 美女爆乳18禁www久久久久久| 丁香六月丁香婷婷激情| 艹色18p| www,99热在线观看| 久久婷婷草| 婷婷之玖玖| 婷婷中文网站| 97色婷婷成人综合在线观看| 伊人狠狠丁香婷婷综合尤物| 影音先锋色婷婷| 五月丁香色色| 婷婷欧美色| 婷婷五月天基地| 色婷五月天| 五月丁香六月激情综合| 久久99国产综合精品免费 | 色婷久| 婷婷五月色情| 婷婷丁香五月天婷婷| 五月丁香久久精品在线观看 | 丁香色情五月综合激情| 丁香六月婷婷综合麻豆| 五月丁香天堂网| 天天影视天天爽天天草| www.色99| 色五月激情五月| av高清无码| 亚洲黄色操逼| 婷婷五月综合色拍| 亚洲激情五月婷婷日日| 午夜色丁香| 十一月婷婷激情四射| 91青娱乐青青草| 99热6精品| 无码AV免费精品一区二区三区| 3p九色在线| 色涩影院六月丁香| 99久久99视频只有精品| 日日操,夜夜撸| 99热这里只有精品在线| 色色色999| 五月天丁香久久综合 | 久久久五月天网站| 欧美又粗又大一区二区在线观看| 五月婷婷啪啪啪啪| 综合网天天| 人妻丰满精品一区二区A片| 中文字幕丰满乱孑伦无码专区| 99热资源在线| 婷婷在线操| 五月婷婷六月少妇激情| 日日干日日| 刘玥精品一区| 久久精品色| 新激情五月开心五月婷婷五月丁香五月| 五月婷亚洲精品| 99热这里有精力| 五月天丁香婷婷网| 亚洲区,视频区,视频区免费| 欧美婷婷五月丁香| 狠狠操狠狠| 丁香色情五月综合激情| 99热国内| 日本三级韩三级99久久| 在线播放 精品| 丁香蜜臀黄色婷婷五月天| 天天爱天天做综合| 成人在线不卡| 日韩精品无码AV| 丁香五月婷婷性爱| 久操福利| 久久全色| 国产精品A片| caop在线视频| 99热精品超碰| 五月丁香六月香综合激情| 99日本精品视频热| 五月婷婷综合影院| 欧美激情综合色综合| 五月婷婷在线免费观看| 色婷婷激情| 综合色色色色色色| 亚洲免费综合一区| 欧洲亚洲免费视频区| 五月婷婷亞洲中文| 亚洲色无码A片一区二区麻豆| 激情性爱五月天| 人人爱国产| AA丁香综合激情| 日本三级中国三级99| 这里只精品热在线18| 337p大胆噜噜噜噜噜91Av| 欧美 日韩 成人| 婷婷色丁香五月| 丁香五月天之婷婷影院| 婷婷天堂站| 天天插天天爽| 色99无码| 婷婷社区五月天| 大香蕉 婷婷| www.色综合.com| 可以观看的AV| 黄色短视频在线观看| 操逼福利视频| A片试看120分钟做受视频红杏| 99精品激情| 9精品在线| 小泽玛利亚视频一区二区| 欧美激情综合色综合色| 《亚洲操B久久免费在线观看,亚洲操B久久在线播放》在线播放 - 高清资源 - 97 | 亚洲色模骚货| 九色1区视频在线| 99热这里只有精品13| 婷婷伊人| 五月丁香六月婷婷亚洲激情综合| A片试看50分钟做受视频| 国产1区2区3区在线观| 色久女| 色综合中文色综合网| 天天做天天爱天天爽综合网| 色婷婷综合电影| 婷婷色五月丁香六月欧美啪| 久久一级片| 天天色天天| 98色丁香五月婷婷综合网| 综合九九| 午夜成人综合| 97色色综合| 激情欧美婷婷| 大地资源色婷婷视频在线| 电影《战争与艾拉》免费观看| 五月婷婷综合视频| 午夜青草资源| 偷拍99在线视频观看| 日日狠夜夜狠| 97人人看一| 永久免费一区二区三区| 欧美噜噜噜草| 欧美槡BBBB槡BBB少妇| 九九热这里只有精品12| 97在线天堂| 五月婷婷六月丁香在线| 久草 天堂| 日日干天天爽| 五月婷深深爱激情网| 综合久久十三| 丁香六月婷婷久久综合| 怡红院 久久| 99re在线播放| 婷婷王月天影院| 91精品丝袜久久久久久久久粉嫩| 9色在线视频| 久久精品色| 亚洲AV在线免费看| 五月丁香婷婷免费视频| 久久婷五月天| 色九九中文字幕| 九九热在线精品视频| av久热| 丁香五月激情综合| 天天干天天日天天操| 伊久久婷婷| 成人看片网站| 99综合色| 99热大全在线观看| 狠狠爱婷婷五月天| 久久久激情| 婷婷综合在线观看视频| 日本系列_4页_777FP| 亚洲色久| 另类激情五月在线视频欧美| 狠狠色丁香久久久婷| av在线婷婷| 99久久精品国产色欲| 五月天色导航婷婷资源婷婷| 任我肏视频精品| 91久久久久久| 五月婷婷六月丁香综合| 九九热这里只有精品首页| 福利视频在线播放| 免费观看的av| 伊人狠狠综合| 97久久久| 超碰色人妾| 亚洲操b| 人人人人人人人草| 欧美激情五月天婷婷| 免费色婷婷| 色香久久| 色久综合天天做视频| 丁香五月网址| 色原狠狠综合| 黄网在线免费| 婷婷五月天影院| 五月天婷婷综合免费| 五月香蕉综合| 翔田千里 50岁 无码| 激情操逼婷婷| 91一起操| www.色综合.com| 亚洲久久婷婷| 婷婷六月爽| 99视频九九热| 99久久综合网| www.五月婷婷久久.com| 五月丁香综合激情网| 天天天操天天天爰| 91操熟女| 婷婷五月天AV在线| 中文字幕人妻AV| 婷婷精品| 婷婷五月花| 婷婷大乡焦噜噜| 丁香色综合| 99热这里只有精品21| 99久在线精品| 色色色在线| 97偷拍在线视频| 日韩精品一区二区三区,四区,五区视频 | 夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂亚洲亚洲亚洲亚洲亚洲亚洲亚洲亚洲色 | 久久久婷丁香五月| 久久99热这里只有精品| 夜夜爽天天日| 性日本激情| 另类图片激情五月| 色综合香蕉| 精品国婬伦V无码久久久| 国产FREESEXVIDEOS性中国| 色播五月婷婷| 99热国产免费| 狼人婷婷久久| 丁香五月天婷婷中文字幕| 狠狠狠夜夜夜| 情趣视频66| 青青操avbb| 99re99热| 无码一区二区日韩| 亚洲视频丁香网va| 婷婷色系婷色| 91久热| a网站免费观看| 丁香成人五月天| 欧美性爱五月天| 五月久久网| 伊人超碰在线| 久久婷婷东京热| 伊人色五月| 大香蕉婷婷婷| 99碰在线视频| 在线网黄| 亚洲第一成人无码A片| 丁香五月天啪啪激情综合网| 狠狠色噜噜狠狠| 久热A| 五月天性色| 亚洲九九在线| 久久久久丁香婷婷五月天| 天天久综合| 激情五月婷| 成人电影在线免费试看| 婷婷综合| 国产真人做爰视频免费| 婷婷激情六月中文| 九九99香蕉在线视频播放| 婷婷97碰碰| 精品思思久久| 亚洲五月丁| www色五月天| 五月色综合网| 丁香五月性爱| www色五月| 日本欧美成人片AAAA| 亚洲婷婷性爱| 婷婷成人在线| 桃色五月婷婷| 天天操夜夜肏| 日本色久| 色色99| 色婷婷狠狠久久综合五月| 日韩大片艹艹| 久久五月丁香婷婷| 久久伊人日日夜夜| 99精品视频免费观看| PORNY九色9l自拍视频成人| 狠狠色婷婷7777久| 中文成人在线| 久操97| 五月丁香综合激情在线观看| av操一操| 26uuu国产| 婷五月天影院| 国产激情视频在线观看| 久草九一| 色婷婷888| 激情综合五月.....| 91婷婷五月天嫩女| 亚洲色婷婷| 久久五月天激情| www.婷婷五月.com| 无码se| www.五月瑟| 91九九| 日韩AC在线免费观看| 日韩有码一区| 涩综合在线 | 在线日韩视频| 成人视频婷婷| 色婷婷丁香五月| 婷婷伊人五月天| 99热精品超碰| 婷婷丁香五月激情图片| 免费国产视频| 婷婷五月丁香基| 337p大胆噜噜噜噜噜91Av| 色五月色五天色情网| 色一情一乱一乱一区91| 久久久久久婷| mmm1717.6dbm人人爱人人操| 日韩超碰在线| 十二区无码| 丁香五月天在线视频| 五月在线| 97人人草| 婷婷色影院| 啪啪小说五月天| 久草热8精品视频在线观看| 久草九九| 婷婷色狠狠| 99热只有| 色丁香五月天射婷婷爱婷婷| 激情av在线| 91人妻人人操| 丁香五月天婷婷久久| 91久久综合亚洲鲁鲁五月天| wwww.色婷婷| 五月色导航| 六月婷婷中文字幕| 亚洲av综合网| 丁香五月综合激情性爱| www.色擼擼.com| av九九| 久久精品综合色| 五月丁香在线国产| 天天色播| 婷婷99狠狠躁天天| 播五月开心婷婷欧美综合| 99在线视频。| 69激情小说| 97av在线视频| 99热国内精品| 婷婷欧美综合| 国产免费av在线| 色亚洲激情| 久久婷婷艹| 亚洲精品性色| 丁香六月在线综合| 婷婷五月天激情视频| 人妻丰满精品一区二区A片| 色区久久| 日韩aaaaa| 欧美婷婷六月丁香综合色| 99精品视频偷拍| 狼人婷婷综合| 久久五月激情综合| 精品九九网| 新激情五月天色播| 超碰cap| 婷婷无码视频| 丁香五月婷婷综合激情啪啪啪啪啪啪啪| 这里只有精品,日韩视频| 婷婷基地爱| 婷婷内射视频在线| 婷婷五月天奸女| 日韩在线视频中文字幕| 大香蕉九九| 97人人干| 精品一区二区三区免费毛片爱| 99热6这里之有精品| 亚洲妇女熟BBW| 深爱激情网婷婷| 日本不卡高字幕在线2019| 丁香婷婷五月天色播| 精品一二三区久久AAA片| 狠狠狠激情网| 久久婷婷艹| 狠狠色噜噜狠狠狠狠综合| 成人网丁香五月| 九色视频91疯狂| 婷婷色激情网| 国产精品A成V人在线播放| 天插天啪天啪天啪| 丁香久久激情俄| 99色性爰网络| 欧美色偷偷大香| 黄色AAAAA| 玖玖婷婷五月| 色婷婷狠狠18禁| 精品九九视频| 亚洲AV另类| 97综合在线| 思思网站| www.玖玖婷婷在线| 香蕉久久国产AV一区二区| 97久久久| 激情五月天天| 五月天成人免费视频| 91九色在线| 国产偷人爽久久久久久老妇APP| 久热A| 丁香九九九九| 欧洲电影在线观看免费版英语版| 婷婷色五月丁香六月欧美啪| 99超级碰免费视频| 色婷婷中文| 丁香五月先锋| 啪啪啪啪五月天| 五月丁小婷婷激情四射| A在线观看| 天天日狠狠| 91AV视频| 欧美三级A做爰在线观看| 色五月婷婷激情| 97久久久久| 婷婷五月激情欧美大胆视频| 亚洲综合色色| 伊人久久丁香婷婷六月五月综合| 97久久人人| 99久| www.99热这里只有精品| 激情色视频| 91九色网| 综合九九久久| 国产FREESEXVIDEOS性中国| 人人摸人人干| 丁香五月网| 综合另类视频| 亚洲123区高清入口| 婷婷金品综合视频| 六月丁香VA| 一本久久亚洲五月婷婷| 色娸娸综合网| 国产激情一区| 亚洲第一综合| 五月丁香婷婷色色| 亚洲精品大片| 天天日夜夜操五月| 99er这里只有精品视频| 狠狠久久婷| 久久久GOGO无码啪啪艺术| 日韩在线观看亚洲| 丁香五月乱中文字幕| 五月丁香久久综合| 成人在线免费网址| 天天揷综合网| 99热这里只有精品4| 婷婷日欧美在线观看| 同性gv国产精品一区二区| www.91在线观看| 婷婷六月天| 乱乱av| 九九色色| 久久婷婷五月综合伊人| 五月丁香中文| 99精品22| 五月丁香婷中文字幕| 丁香六月开心| 综合另类视频| 第五婷婷伊人丁香色| 九九色黄色| 成人精品一区日本无码网| 可以免费观看的av| 99热在这里只有精品| 五月天婷婷导航| 婷婷五月丁香综合激情小说| 激情小说五月天社区丁香| 九九中文字幕九| 亚洲色频| 婷婷丁香色女人| 丁香激情五月| 99视频在线精品| 五月婷婷婷婷| 午夜丁香婷婷| 五月丁香在线观看| 色色射| 丁香色婷婷五月天| 草草操操| 综合激情婷婷| 色婷婷小说| 久机视频这只有精品| 97综合在线| 色999亚洲人成色| 五月婷婷色| 91碰碰| 人妻久久久久久久| 五月婷婷激情五月| 五月婷婷六月丁香| 日韩无码色色| 天天日综合| 欧美狠狠色| 青青草轻轻操| 色婷五月| 色五月婷婷很很操| 婷婷五月花| 99色干| 99色亚洲| 精品夜夜澡人妻无码AV| 婷婷D区| 超碰妻人人| 色色婷婷婷丁香五月天| 狠狠99| 日韩九区| 立川无码av| 天天干天天 亚洲| 欧美激情综合色丁香婷婷五月天 | 免费试看小视频 99| 亚洲另类婷婷五月丁香在线播放| 草美女在线观看视频在线播放| 天天日日天天| 99这里只有精彩视频| 天天影视色综合网| 99爱精品| 夜夜干 夜夜操| 97高清国语自产拍| 99色一| 五月丁香六月婷婷色日| 国产99久久久| 色色婷婷五月| 免费色婷婷| …亚洲黄色在线播放日韩、av中文a…| 综合久久影院| 丁乡久久| 夜夜骑操AV| 激情丰满熟妇五月| 天天骑天天操| 久久只有18视频| 国产成人综合亚洲| 激情宗合 激情宗合| 婷婷香蕉| 可以直接看的AV网站| 亚洲精品99| 五月婷在线| 碰碰人人人| 超碰免费99| 婷婷激情综合网| 婷婷久久综合| 最近中文字幕大全免费版在线 | 九热免费视频| 欧洲色区| 草榴视频网| 丁香婷婷精品视频| 怡红院视频| 色播五月丁香| 丁香婷婷婷| 五月天色色色| 激情VA视频| www.色综合| 激情五月丁香五月色| 91久久综合亚洲噜噜成人在线 | 99熟女啪啪视频| 国产毛片欧美毛片久久久| 色99视| 高清激情av在线观看| 激情都市丁香婷婷| 日本熟妇乱妇熟色A片蜜桃| 婷婷五月综合啪| 五月天婷婷青青| 99人妻碰碰碰久久久久视| 偷偷与邻居做爰完整视频| 国产AV不卡福利| 五月色婷婷AV| 韩国三级五月天婷婷。| 人人操AV| 欧美槡BBBB槡BBB少妇| 99男人的天堂| 色婷婷五月天天天干天天操天天爽| 中文字幕在线观看视频www| 五月丁香六月天| 亚洲xx网| 黄色笑话深爱激情网丁香五月婷婷啪啪啪啪啪| 久久婷婷啪啪视频| 大香蕉伊然在亚洲90| 韩国情人在线电视剧免费观看高清版全集| 天天干天天日天天操| 五月婷六月丁| 色五月天激情| 九月婷婷色色| 欧美婷婷五月丁香| 激情五月天。| 色婷婷成人在线| 综合色色色| 日本在线视频播放91| 99无码黄色视频| 日韩在线观看网址| 五月婷婷开心色伊人| 91精品久久久久久综合五月天| 成人无码髙潮喷水A片| 久久五月情| 丁香六月激情综合啪啪| 五月婷在线观看| 久99在线视频| 五月丁香亚洲婷婷| 超pen个人视频97| www..999热久| 五月天操逼网| 97啪在线观看视频| 综合网激情五月天| 国产综合婷婷| 色欲影香| 亚洲最大激情无码| 墨西哥毛片内射精| 五月婷婷久久开心网| 热99这就是精品视频| 26uuu丁香婷婷五月| 五月天婷婷激情在线色图| 99精品无码| 少妇丁香婷婷| 五月天综合| 色播五月丁香| 婷婷六月久久综合导航| 71在线精品视频一区| 五月亭亭性| 色九九丁香九月色九九色| 天天狠狠干| 98热精品| 婷婷精品综合| 丁香五月婷婷久久久| 激情五月婷婷色| 丁香婷婷五月天成人| 色五狠狠| 日本色超碰| 婷婷五月丁香久久| 色五月噜噜| 79色色色色| 丁香五月WWW| 国产九九一区二区三区| 九九精品在线网| 色www99| 五月婷婷激情色情网| 99精品偷自拍| 色婷婷社区| 怡红院91a√| 九九色影视| 久久色五月天| 天天干人人奸97| 免费观看欧美成人AA片爱我多深 | 麻豆123区| 日日操夜夜操不卡| 深爱激情五月网| 五月天丁香久久| 五月激情影院| 手机激情网| 中文字幕无码成人电影| 香蕉色色网| 色婷六月| 99这里只有精品国产| 精品影院| 99视频在线精品| 五月婷婷丁香综合| 免费无码毛片一区二区A片| 99综合免费视频| 色色色综合色| 久久激情五月| 欧美人人草| 97久久草草超级碰碰碰| 国产成人精品一区二区三区视频| 成人电影丁香六月天| 99热网址| 亚洲妇女熟BBW| 99热这里只有精彩| 欧美在线视频99| 超碰人妻公开在线| AV色婷婷| 婷婷久久夜| www,超碰| 久操婷婷| 天天干、天天日日| 日本美女上人| 无遮挡国产高潮视频免费观看| 天天日夜夜曹| 激情综合青草| 亚洲成Av人片乱码色第1集| 天天狠狠夜夜狠狠2023| 26uuu亚洲精品国产| 99成人网一区| 亚洲成人AV一区在线观看| 草草视频91| 停停五月天激情网| 国产婷婷色五月| 亚洲人成播放网站| 九九热最新| 思思久热6| 婷婷丁香六月| 亚洲黄色av网站| 色婷婷狠狠| 香蕉操亚洲| 欧美综合在线五月天色婷婷| 日韩在线视频中文字幕| 欧美 色婷婷| 99精品视频网站| 久久99网| 婷婷成人五月天一区| 美女黄频aⅴ视频| 99re资源在线视频导航| a久久| 婷婷五月丁香欧洲| 成人精品99| 三区激情四射av| 超碰成人av| 色五月天 丁香| 丁香五月天电影| 狠狠色五月| 综合五月天婷婷色| 婷婷五月丁香综合激情小说| 欧美色碰| 丁香五月大香蕉在线99| 99热精品在线播放| 超级碰碰碰97免费| 婷婷婷婷婷开心无码播放| 99re思思在线视频| www.激情| 色婷婷久久天天性爱| 国产九月婷婷| 小香蕉av| 99热网站| 五月天婷婷影院| 99色色网| 久久色9| 日日操夜夜爽| 五月丁香另类网| 《》【无码】想被搞到爽AV应募而来的超M素人 西纯子 10musume-011723-01 | 高清无码 一区 二区 三区| 大香蕉五月天婷婷| 久久的爱大香蕉| 色天使色综合| AV在线不卡播放| 国产69久久久欧美黑人A片| 久热这里| 婷婷的99视频网站| 超碰99久久| 久久丁香综合| 5五月综合网亚洲| 日本va网站| 五月婷婷综合激情| 梁铮版《蜘蛛女侠》在线| 亚洲成人网站在线观看| 人妻22p| www.婷婷五月天| 原琪琪色影院| 色九网| 五月婷婷AV| 色综合色色| www色婷婷com| 婷婷综合影院| 色婷婷综合综合网| 182TV大香蕉| 国产精品成人AV在线| 国产超碰av| 91色碰| 大香蕉伊人爱在线| 五月婷婷色播| 丁香五月婷婷色情综合| 岛囯综合激情网| 国产91在线视频| 久久久久久久久久久44| 超碰在线观看成人视| 啪啪夜久久| www.久久久.com| 九九综合| 国产伊人五月天| henhencao国产在线| 久久只这里有精品| 天天操狠狠操| 人人摸人人搞| 五月婷婷中文字幕| 五月婷在线观看| 99热综合| 91久久国产自产拍夜夜91久久精品文字>91麻豆精品国产 | 996日日爱| 亚洲操操操| 久久东京热婷婷五月| www色色com| 五月花婷婷| 成人做爰黄A片免费看直播室男男| 射满了还射免费在线观看 -午夜版全集-新视觉影院 | 婷婷.com| 亚洲视频码| 久久婷婷色综合| 婷婷丁香在线| 丁香五月色播中文在线播放| 综合五月激情网| 色色色色热| 99热这里只有精品66| 婷婷综合五月天| 9热成人在线视频| 91性人人| 丁香五月天激情| 九九国产视频| 久久丁香五月综合六月激情红杏视频 | www.狠狠色.com| 人妻久久久久久久久久| www.狠狠| 思思热在线观看| 欧美超碰亚洲| 日韩一级A片黄色| 激情五月亚洲综合网| 岛国av网站| 久久久这里有精品| 久久涩视频| 国产在线中文字幕| 深爱五月中文字幕| 色99视频| 婷婷久久五月| 亚洲无码AV片| 99热这里只有99| 婷婷五月天电影在线| 婷婷六月啪啪| 5月丁香美女影院| 五月丁香六月婷婷成人| 夜夜天天久久婷婷| wwwwww.色| 九九九九综合| 色涩视频久久| 97操视频| 狠狠操性爱av| 久久久久久久人妻| 久久婷婷网址| 在线国产精品色| 五月天网站免费欧美| 五月丁香六月婷婷啪啪| 婷婷之玖玖| 成人婷婷深爱综合网| 99色视频| 久久色六月| 亚洲秘 无码一区二区三区妃光/1| 91丨熟女丨首页| 婷婷五月天综合网| 亚洲日韩乱码一区二区三区四区| 丁香五月天狠狠操| 久久机只有这里精品| 成人精品人妻| 国内自拍1区| 超黄亚洲瑟瑟网站| www.色婷婷.com| 婷婷狠狠干| 五月天婷婷午夜丁香| 亚洲综合五月天| 99热传媒| 国产夫妻操逼内射视频| 伊人网啪啪| 色色综合网。| 日韩一66精品| 丁香五月影视| 99re在线免费视频| 日日噜狠狠色综合久久| 激情AV| 伊人色综合久久久| 五月丁香龟婷婷| 八戒青柠影视剧在线观看| 婷婷五月花| 五月色色激情网| 天堂成人A片永久免费网站| 91碰碰| 久久九九在线视频| 超pen个人视频97| 永久的网站AAAA| 婷婷瑟瑟五月天| 91蝌蚪窝视频在线| 五月天免费色| 婷婷色播婷婷| 区美毛片子| 五月天另类激情在线| 国产精品扒开腿做爽爽爽A片唱戏| 91性高潮久久久久久久久| 1024操逼视频| 97sese婷婷| 婷婷五月视频| 亚洲AV日韩在线观看| 99热这里只有精品98| 婷婷网五月天| 99亚洲精品视频在线观看| 激情综合五月婷婷| 五月婷婷精品视频| 久久人妻视步| 爱iii做iiii日| 日本91在线| 色噜噜狠噜噜视频| 91精品91久久久久77777| 六月婷婷狠狠色在线观看| 色五月婷婷在线| 夜色综合网| 亚洲综合五月| 九九激情视频| 桔色成人在线| 97色综合| 婷婷五月六月激情| 国产亚洲AV人片在线| 婷婷色情小说| 天天碰夜夜操| 丁香激激情网| 婷婷日本在线| 丁香五月无码| 97婷婷久久丁香| 亚洲a色| 久久综合九色综合97婷婷| 九九热这里只有精品12| 婷婷综合丁香| 热思思| 丁香9月婷婷| 99热色精品| 国产激情在线| 另类精品视频在线观看| 97精品欧美91久久久久久久| 五月天婷婷视频| 伊人网欧美在线男人天堂五月丁香| 亚洲色网址| 好好日激情五月天| 国产精品久久久久久久久久免费| 五月天婷婷久久综合| 大香蕉丁香五月| 人人操人av| 麻豆精品| 激情AV| 超黄亚洲瑟瑟网站| 欧美成人AAA片一区国产精品| 色宗合久久五月婷婷| 色色综合五月| 激情五月丁香婷婷| 五月丁香无码| 九九激情网| 99热这里只有精品亚洲| 五月开心播播网| 久久婷婷六月综合| www.henhenl| 久久五月天综合| 日日操日日干| 99热99| 大香蕉五月丁香| www..com色爱| 另类图片五月天婷婷| 天天肏视频| 色色色色色级无码| www网站在线观看| www.99热视频| 色色色99韩| 中文字幕久久婷九女同| 97碰碰人人| 色久五月| 色色影院黄大片| 天天日综合| 激情五月丁香综合网站| 香蕉大综综综合久久| 综合久久婷婷| 五月丁查人人| 久久婷婷青草五月天| 夜夜操加勒比| 九色无码| 六月丁香婷婷亚洲中文玖玖| 国产综合久久久777777| 婷婷午夜| 亚洲五月天婷婷在线| 日本啪啪网| 99国产精品久久久久久久久久久| 97 A I色色| 天天五月香欧美| 五月天久久激情| 性爱久久| 婷婷五月av|