日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

阿里巴巴开源的Excel操作神器!

發布時間:2025/3/11 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 阿里巴巴开源的Excel操作神器! 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前提

導出數據到Excel是非常常見的后端需求之一,今天來推薦一款阿里出品的Excel操作神器:EasyExcel。EasyExcel從其依賴樹來看是對apache-poi的封裝,筆者從開始接觸Excel處理就選用了EasyExcel,避免了廣泛流傳的apache-poi導致的內存泄漏問題。

引入EasyExcel依賴

引入EasyExcel的Maven如下:

<dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>${easyexcel.version}</version> </dependency>

當前(2020-09)的最新版本為2.2.6。

API簡介

Excel文件主要圍繞讀和寫操作進行處理,EasyExcel的API也是圍繞這兩個方面進行設計。先看讀操作的相關API:

//?新建一個ExcelReaderBuilder實例 ExcelReaderBuilder?readerBuilder?=?EasyExcel.read(); //?讀取的文件對象,可以是File、路徑(字符串)或者InputStream實例 readerBuilder.file(""); //?文件的密碼 readerBuilder.password(""); //?指定sheet,可以是數字序號sheetNo或者字符串sheetName,若不指定則會讀取所有的sheet readerBuilder.sheet(""); //?是否自動關閉輸入流 readerBuilder.autoCloseStream(true); //?Excel文件格式,包括ExcelTypeEnum.XLSX和ExcelTypeEnum.XLS readerBuilder.excelType(ExcelTypeEnum.XLSX); //?指定文件的標題行,可以是Class對象(結合@ExcelProperty注解使用),或者List<List<String>>實例 readerBuilder.head(Collections.singletonList(Collections.singletonList("head"))); //?注冊讀取事件的監聽器,默認的數據類型為Map<Integer,String>,第一列的元素的下標從0開始 readerBuilder.registerReadListener(new?AnalysisEventListener()?{@Overridepublic?void?invokeHeadMap(Map?headMap,?AnalysisContext?context)?{//?這里會回調標題行,文件內容的首行會認為是標題行}@Overridepublic?void?invoke(Object?o,?AnalysisContext?analysisContext)?{//?這里會回調每行的數據}@Overridepublic?void?doAfterAllAnalysed(AnalysisContext?analysisContext)?{} }); //?構建讀取器 ExcelReader?excelReader?=?readerBuilder.build(); //?讀取數據 excelReader.readAll(); excelReader.finish();

可以看到,讀操作主要使用Builder模式和事件監聽(或者可以理解為「觀察者模式」)的設計。一般情況下,上面的代碼可以簡化如下:

Map<Integer,?String>?head?=?new?HashMap<>(); List<Map<Integer,?String>>?data?=?new?LinkedList<>(); EasyExcel.read("文件的絕對路徑").sheet().registerReadListener(new?AnalysisEventListener<Map<Integer,?String>>()?{@Overridepublic?void?invokeHeadMap(Map<Integer,?String>?headMap,?AnalysisContext?context)?{head.putAll(headMap);}@Overridepublic?void?invoke(Map<Integer,?String>?row,?AnalysisContext?analysisContext)?{data.add(row);}@Overridepublic?void?doAfterAllAnalysed(AnalysisContext?analysisContext)?{//?這里可以打印日志告知所有行讀取完畢}}).doRead();

如果需要讀取數據并且轉換為對應的對象列表,則需要指定標題行的Class,結合注解@ExcelProperty使用:

文件內容:|訂單編號|手機號| |ORDER_ID_1|112222| |ORDER_ID_2|334455|@Data private?static?class?OrderDTO?{@ExcelProperty(value?=?"訂單編號")private?String?orderId;@ExcelProperty(value?=?"手機號")private?String?phone; }Map<Integer,?String>?head?=?new?HashMap<>(); List<OrderDTO>?data?=?new?LinkedList<>(); EasyExcel.read("文件的絕對路徑").head(OrderDTO.class).sheet().registerReadListener(new?AnalysisEventListener<OrderDTO>()?{@Overridepublic?void?invokeHeadMap(Map<Integer,?String>?headMap,?AnalysisContext?context)?{head.putAll(headMap);}@Overridepublic?void?invoke(OrderDTO?row,?AnalysisContext?analysisContext)?{data.add(row);}@Overridepublic?void?doAfterAllAnalysed(AnalysisContext?analysisContext)?{//?這里可以打印日志告知所有行讀取完畢}}).doRead();

「如果數據量巨大,建議使用Map<Integer, String>類型讀取和操作數據對象,否則大量的反射操作會使讀取數據的耗時大大增加,極端情況下,例如屬性多的時候反射操作的耗時有可能比讀取和遍歷的時間長」

接著看寫操作的API:

//?新建一個ExcelWriterBuilder實例 ExcelWriterBuilder?writerBuilder?=?EasyExcel.write(); //?輸出的文件對象,可以是File、路徑(字符串)或者OutputStream實例 writerBuilder.file(""); //?指定sheet,可以是數字序號sheetNo或者字符串sheetName,可以不設置,由下面提到的WriteSheet覆蓋 writerBuilder.sheet(""); //?文件的密碼 writerBuilder.password(""); //?Excel文件格式,包括ExcelTypeEnum.XLSX和ExcelTypeEnum.XLS writerBuilder.excelType(ExcelTypeEnum.XLSX); //?是否自動關閉輸出流 writerBuilder.autoCloseStream(true); //?指定文件的標題行,可以是Class對象(結合@ExcelProperty注解使用),或者List<List<String>>實例 writerBuilder.head(Collections.singletonList(Collections.singletonList("head"))); //?構建ExcelWriter實例 ExcelWriter?excelWriter?=?writerBuilder.build(); List<List<String>>?data?=?new?ArrayList<>(); //?構建輸出的sheet WriteSheet?writeSheet?=?new?WriteSheet(); writeSheet.setSheetName("target"); excelWriter.write(data,?writeSheet); //?這一步一定要調用,否則輸出的文件有可能不完整 excelWriter.finish();

ExcelWriterBuilder中還有很多樣式、行處理器、轉換器設置等方法,筆者覺得不常用,這里不做舉例,內容的樣式通常在輸出文件之后再次加工會更加容易操作。寫操作一般可以簡化如下:

List<List<String>>?head?=?new?ArrayList<>(); List<List<String>>?data?=?new?LinkedList<>(); EasyExcel.write("輸出文件絕對路徑").head(head).excelType(ExcelTypeEnum.XLSX).sheet("target").doWrite(data);

實用技巧

下面簡單介紹一下生產中用到的實用技巧。

多線程讀

使用EasyExcel多線程讀建議在限定的前提條件下使用:

  • 源文件已經被分割成多個小文件,并且每個小文件的標題行和列數一致。

  • 機器內存要充足,因為并發讀取的結果最后需要合并成一個大的結果集,全部數據存放在內存中。

?

經常遇到外部反饋的多份文件需要緊急進行數據分析或者交叉校對,為了加快文件讀取,筆者通常使用這種方式批量讀取格式一致的Excel文件

?

一個簡單的例子如下:

@Slf4j public?class?EasyExcelConcurrentRead?{static?final?int?N_CPU?=?Runtime.getRuntime().availableProcessors();public?static?void?main(String[]?args)?throws?Exception?{//?假設I盤的temp目錄下有一堆同格式的Excel文件String?dir?=?"I:\\temp";List<Map<Integer,?String>>?mergeResult?=?Lists.newLinkedList();ThreadPoolExecutor?executor?=?new?ThreadPoolExecutor(N_CPU,?N_CPU?*?2,?0,?TimeUnit.SECONDS,new?LinkedBlockingQueue<>(),?new?ThreadFactory()?{private?final?AtomicInteger?counter?=?new?AtomicInteger();@Overridepublic?Thread?newThread(@NotNull?Runnable?r)?{Thread?thread?=?new?Thread(r);thread.setDaemon(true);thread.setName("ExcelReadWorker-"?+?counter.getAndIncrement());return?thread;}});Path?dirPath?=?Paths.get(dir);if?(Files.isDirectory(dirPath))?{List<Future<List<Map<Integer,?String>>>>?futures?=?Files.list(dirPath).map(path?->?path.toAbsolutePath().toString()).filter(absolutePath?->?absolutePath.endsWith(".xls")?||?absolutePath.endsWith(".xlsx")).map(absolutePath?->?executor.submit(new?ReadTask(absolutePath))).collect(Collectors.toList());for?(Future<List<Map<Integer,?String>>>?future?:?futures)?{mergeResult.addAll(future.get());}}log.info("讀取[{}]目錄下的文件成功,一共加載:{}行數據",?dir,?mergeResult.size());//?其他業務邏輯.....}@RequiredArgsConstructorprivate?static?class?ReadTask?implements?Callable<List<Map<Integer,?String>>>?{private?final?String?location;@Overridepublic?List<Map<Integer,?String>>?call()?throws?Exception?{List<Map<Integer,?String>>?data?=?Lists.newLinkedList();EasyExcel.read(location).sheet().registerReadListener(new?AnalysisEventListener<Map<Integer,?String>>()?{@Overridepublic?void?invoke(Map<Integer,?String>?row,?AnalysisContext?analysisContext)?{data.add(row);}@Overridepublic?void?doAfterAllAnalysed(AnalysisContext?analysisContext)?{log.info("讀取路徑[{}]文件成功,一共[{}]行",?location,?data.size());}}).doRead();return?data;}} }

這里采用ThreadPoolExecutor#submit()提交并發讀的任務,然后使用Future#get()等待所有任務完成之后再合并最終的讀取結果。

?

注意,一般文件的寫操作不能并發執行,否則很大的概率會導致數據錯亂

?

多Sheet寫

多Sheet寫,其實就是使用同一個ExcelWriter實例,寫入多個WriteSheet實例中,每個Sheet的標題行可以通過WriteSheet實例中的配置屬性進行覆蓋,代碼如下:

public?class?EasyExcelMultiSheetWrite?{public?static?void?main(String[]?args)?throws?Exception?{ExcelWriterBuilder?writerBuilder?=?EasyExcel.write();writerBuilder.excelType(ExcelTypeEnum.XLSX);writerBuilder.autoCloseStream(true);writerBuilder.file("I:\\temp\\temp.xlsx");ExcelWriter?excelWriter?=?writerBuilder.build();WriteSheet?firstSheet?=?new?WriteSheet();firstSheet.setSheetName("first");firstSheet.setHead(Collections.singletonList(Collections.singletonList("第一個Sheet的Head")));//?寫入第一個命名為first的SheetexcelWriter.write(Collections.singletonList(Collections.singletonList("第一個Sheet的數據")),?firstSheet);WriteSheet?secondSheet?=?new?WriteSheet();secondSheet.setSheetName("second");secondSheet.setHead(Collections.singletonList(Collections.singletonList("第二個Sheet的Head")));//?寫入第二個命名為second的SheetexcelWriter.write(Collections.singletonList(Collections.singletonList("第二個Sheet的數據")),?secondSheet);excelWriter.finish();} }

效果如下:

分頁查詢和批量寫

在一些數據量比較大的場景下,可以考慮分頁查詢和批量寫,其實就是分頁查詢原始數據 -> 數據聚合或者轉換 -> 寫目標數據 -> 下一頁查詢....。其實數據量少的情況下,一次性全量查詢和全量寫也只是分頁查詢和批量寫的一個特例,因此可以把查詢、轉換和寫操作抽象成一個可復用的模板方法:

int?batchSize?=?定義每篇查詢的條數; OutputStream?outputStream?=?定義寫到何處; ExcelWriter?writer?=?new?ExcelWriterBuilder().autoCloseStream(true).file(outputStream).excelType(ExcelTypeEnum.XLSX).head(ExcelModel.class); for?(;;){List<OriginModel>?list?=?originModelRepository.分頁查詢();if?(list.isEmpty()){writer.finish();break;}else?{list?轉換->?List<ExcelModel>?excelModelList;writer.write(excelModelList);} }

參看筆者前面寫過的一篇非標題黨生產應用文章《百萬級別數據Excel導出優化》,適用于大數據量導出的場景,代碼如下:

Excel上傳與下載

?

下面的例子適用于Servlet容器,常見的如Tomcat,應用于spring-boot-starter-web

?

Excel文件上傳跟普通文件上傳的操作差不多,然后使用EasyExcel的ExcelReader讀取請求對象MultipartHttpServletRequest中文件部分抽象的InputStream實例即可:

@PostMapping(path?=?"/upload") public?ResponseEntity<?>?upload(MultipartHttpServletRequest?request)?throws?Exception?{Map<String,?MultipartFile>?fileMap?=?request.getFileMap();for?(Map.Entry<String,?MultipartFile>?part?:?fileMap.entrySet())?{InputStream?inputStream?=?part.getValue().getInputStream();Map<Integer,?String>?head?=?new?HashMap<>();List<Map<Integer,?String>>?data?=?new?LinkedList<>();EasyExcel.read(inputStream).sheet().registerReadListener(new?AnalysisEventListener<Map<Integer,?String>>()?{@Overridepublic?void?invokeHeadMap(Map<Integer,?String>?headMap,?AnalysisContext?context)?{head.putAll(headMap);}@Overridepublic?void?invoke(Map<Integer,?String>?row,?AnalysisContext?analysisContext)?{data.add(row);}@Overridepublic?void?doAfterAllAnalysed(AnalysisContext?analysisContext)?{log.info("讀取文件[{}]成功,一共:{}行......",?part.getKey(),?data.size());}}).doRead();//?其他業務邏輯}return?ResponseEntity.ok("success"); }

使用Postman請求如下:

使用EasyExcel進行Excel文件導出也比較簡單,只需要把響應對象HttpServletResponse中攜帶的OutputStream對象附著到EasyExcel的ExcelWriter實例即可:

@GetMapping(path?=?"/download") public?void?download(HttpServletResponse?response)?throws?Exception?{//?這里文件名如果涉及中文一定要使用URL編碼,否則會亂碼String?fileName?=?URLEncoder.encode("文件名.xlsx",?StandardCharsets.UTF_8.toString());//?封裝標題行List<List<String>>?head?=?new?ArrayList<>();//?封裝數據List<List<String>>?data?=?new?LinkedList<>();response.setContentType("application/force-download");response.setHeader("Content-Disposition",?"attachment;filename="?+?fileName);EasyExcel.write(response.getOutputStream()).head(head).autoCloseStream(true).excelType(ExcelTypeEnum.XLSX).sheet("Sheet名字").doWrite(data); }

這里需要注意一下:

  • 文件名如果包含中文,需要進行URL編碼,否則一定會亂碼。

  • 無論導入或者導出,如果數據量大比較耗時,使用了Nginx的話記得調整Nginx中的連接、讀寫超時時間的上限配置。

  • 使用SpringBoot需要調整spring.servlet.multipart.max-request-size和spring.servlet.multipart.max-file-size的配置值,避免上傳的文件過大出現異常。

小結

EasyExcel的API設計簡單易用,可以使用他快速開發有Excel數據導入或者導出的場景,真是廣大 Javaer 人的福音。

往期推薦

Java新特性:數據類型可以扔掉了?


多圖帶你徹底理解Java中的21種鎖!


JDK 竟然是這樣實現棧的?


關注下方二維碼,收獲更多干貨!

總結

以上是生活随笔為你收集整理的阿里巴巴开源的Excel操作神器!的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

色综合亚洲精品激情狠狠 | 亚洲最大激情中文字幕 | 亚洲午夜精品一区二区三区电影院 | 日日干干夜夜 | 91精品在线播放 | 国产精品成人国产乱 | 免费日韩 精品中文字幕视频在线 | 亚洲天堂网在线视频 | 六月丁香六月婷婷 | 91亚洲精品在线观看 | av黄在线播放 | 亚洲另类视频在线 | 狠狠撸电影 | 天堂视频中文在线 | 黄色在线观看免费网站 | 国产h在线播放 | 美女免费电影 | 99精品福利| www.99av| 人人澡人人爽欧一区 | 婷婷综合五月天 | 精品国产中文字幕 | www狠狠| 色姑娘综合 | 色资源中文字幕 | 中文字幕韩在线第一页 | 在线看欧美 | 九色porny真实丨国产18 | 91在线精品播放 | 亚洲精品国产精品乱码不99热 | 韩日三级在线 | 久久九九国产精品 | 四虎4hu永久免费 | 久久超碰97 | 国产91精品在线观看 | 看毛片网站 | 国产成人61精品免费看片 | 国产精品免费观看网站 | av软件在线观看 | 亚洲国产中文字幕在线观看 | 国产精品国内免费一区二区三区 | 色99导航| 啪啪肉肉污av国网站 | 亚洲专区在线播放 | 国产大陆亚洲精品国产 | 青青射| 国产精品久久久久久久久久久久午夜片 | 精品福利视频在线观看 | 久久天天操 | 日韩一级电影在线 | 中文字幕免费高清在线观看 | 免费大片黄在线 | 国产激情电影综合在线看 | 在线之家免费在线观看电影 | 永久免费毛片 | 色妞色视频一区二区三区四区 | 97色婷婷成人综合在线观看 | 99这里只有精品99 | 日韩欧美视频免费观看 | 国内外激情视频 | 少妇搡bbbb搡bbb搡忠贞 | 亚洲国产精品传媒在线观看 | 91亚洲精品在线观看 | 国产99久久久精品视频 | 精品在线二区 | 国产精品午夜av | 伊人网综合在线观看 | 狠狠干狠狠色 | 婷婷久草 | 国产亚洲高清视频 | 亚州视频在线 | 国产色视频网站 | 久久九九影院 | 欧美午夜精品久久久久 | 99精品一级欧美片免费播放 | 91av视频在线观看 | 免费视频成人 | 天天操天天射天天爱 | 国产精品去看片 | 欧美91精品国产自产 | 日韩在线视频免费观看 | 偷拍福利视频一区二区三区 | 99久久www免费| 中文字幕久久网 | 99久久这里有精品 | 亚洲综合成人在线 | 国产精品黄色在线观看 | 精品国产综合区久久久久久 | 亚洲欧美日韩在线一区二区 | 97超碰免费在线观看 | 丁香婷婷综合五月 | 国产精品毛片一区二区在线 | 97精品久久人人爽人人爽 | 国产精品久久在线 | 亚洲国产成人在线观看 | 欧美一级高清片 | 超碰公开在线 | 麻豆精品传媒视频 | 99热精品国产一区二区在线观看 | 天天做天天爽 | 麻豆视频在线观看免费 | 久久久久网址 | 超碰日韩在线 | 五月天狠狠操 | 天堂av在线 | 亚洲香蕉在线观看 | 日韩av五月天 | 国产视频久久久久 | 五月婷婷丁香激情 | 国产精品女同一区二区三区久久夜 | 福利一区二区 | 中文字幕av一区二区三区四区 | av色网站| 97超碰在线资源 | 婷婷色狠狠 | 国产无套精品久久久久久 | 日本福利视频在线 | 久久综合毛片 | 国产精品国产自产拍高清av | 久久伊人热 | 亚洲va欧美va人人爽 | 久久香蕉国产精品麻豆粉嫩av | 一级一片免费视频 | 国产在线小视频 | 黄色亚洲片| 99精品欧美一区二区三区 | 久久这里只有精品视频99 | 超碰97久久 | 超碰国产在线观看 | 日韩午夜电影院 | 久久久久久久久综合 | 国产成人三级一区二区在线观看一 | 久草在线免费资源站 | 久久国产精品影片 | 日韩免费在线一区 | 国产乱码精品一区二区蜜臀 | 丁香激情五月婷婷 | 97超碰资源 | 人人澡人人爽 | 亚洲精品99久久久久中文字幕 | 福利网在线 | 丁香激情综合 | 欧美色图视频一区 | 九色91av | 免费a级黄色毛片 | 欧美污网站 | 色姑娘综合天天 | 日韩欧美一区二区在线播放 | 久久夜色精品国产欧美乱极品 | 久久精品—区二区三区 | 国产一区二区在线播放视频 | 日韩极品在线 | 日日干天天操 | 免费日韩一区二区 | 久久精品一区二 | 99久久精 | 免费三级黄色片 | 欧美极品少妇xxxxⅹ欧美极品少妇xxxx亚洲精品 | 91高清视频 | 免费在线成人 | 亚洲黄色免费在线 | 欧美福利网址 | 久久婷婷精品 | 五月导航 | 最近中文字幕在线中文高清版 | 亚洲精品动漫久久久久 | 不卡的av在线播放 | 日韩欧美电影 | 蜜桃av久久久亚洲精品 | 天天艹天天 | 在线观看一区视频 | 色综合久久网 | 福利片免费看 | 毛片一区二区 | 日本深夜福利视频 | 成人一级免费视频 | 日韩av在线一区二区 | 91九色porny蝌蚪主页 | 国产婷婷一区二区 | 天堂va欧美va亚洲va老司机 | 黄色大片国产 | 成人网大片 | 成人香蕉视频 | 国产一区二区精品久久 | 国产九九热视频 | 免费黄色在线 | 欧美日韩国产精品一区二区三区 | 一区二区视频电影在线观看 | 黄色毛片电影 | 91丨porny丨九色 | 亚洲精品18p| 天堂中文在线播放 | 国产精品免费不卡 | 男女视频91 | 成人精品一区二区三区中文字幕 | 天天干天天拍 | 韩国精品视频在线观看 | 亚洲 中文 在线 精品 | 五月色婷| 久久香蕉国产精品麻豆粉嫩av | 日韩欧美电影在线 | 成人蜜桃视频 | 18国产精品白浆在线观看免费 | 不卡精品 | 国产自产在线视频 | 国产精品 9999| 亚洲成人蜜桃 | 最新av在线网址 | 国产一在线精品一区在线观看 | 99999精品视频 | 黄色毛片视频 | 久久精品国产免费看久久精品 | 国内精品久久久久久久影视简单 | 亚洲国产成人久久综合 | 国产成人在线网站 | 久草视频免费观 | 黄色av电影免费观看 | 国产精品video爽爽爽爽 | 香蕉视频在线视频 | jizzjizzjizz亚洲 | 91综合久久一区二区 | 成人黄色在线电影 | 国产亚洲精品久久久网站好莱 | 国模精品一区二区三区 | 久久精品毛片基地 | 色姑娘综合天天 | 午夜视频色 | 亚洲天堂网在线播放 | 91精品国产高清自在线观看 | 国产精彩视频一区 | 成年人电影免费在线观看 | av在线一级 | 久久伊人操 | 亚洲国产影院av久久久久 | 久久综合之合合综合久久 | 综合铜03| 伊人小视频 | 高清视频一区二区三区 | 国产在线色站 | 91女人18片女毛片60分钟 | 日av免费 | 美女久久视频 | 在线视频1卡二卡三卡 | 亚洲美女免费视频 | 国产麻豆果冻传媒在线观看 | 欧美 亚洲 另类 激情 另类 | 毛片一级免费一级 | 午夜精品一区二区三区在线 | 一级欧美黄 | 97精品国产91久久久久久 | 欧美在线观看视频免费 | 天天色天天色 | 免费三级在线 | 久久久久久久久久久福利 | av一区二区在线观看中文字幕 | www.久艹| 免费黄色在线网址 | 中文字幕国产一区 | 美女久久一区 | 97超视频免费观看 | av解说在线观看 | 91桃色在线播放 | 亚洲人视频在线 | 99在线免费视频 | 国产精品视频免费看 | 亚洲综合成人专区片 | 欧美日韩一区二区免费在线观看 | 精品久久久影院 | 中文字幕一区二 | 日韩高清国产精品 | 天天综合色天天综合 | 日韩精品一区二区久久 | 久草精品视频在线观看 | 国产精品麻豆91 | 国产又黄又爽无遮挡 | 亚洲精品国产高清 | av成人亚洲 | 欧美日韩成人 | 成人在线一区二区 | 99re亚洲国产精品 | 婷婷综合五月天 | 欧美亚洲成人xxx | 国产精品一区二区吃奶在线观看 | 亚洲一一在线 | 欧美日韩精品在线一区二区 | 日韩免费视频一区二区 | 777奇米四色 | 色婷婷狠狠18 | 久久夜色精品国产亚洲aⅴ 91chinesexxx | 国产精品久久一 | 91看片在线免费观看 | 高清av中文在线字幕观看1 | 人人添人人澡 | 四虎影视8848aamm | 丁香在线观看完整电影视频 | 一级性av | 国产精品日韩 | 国产成人精品午夜在线播放 | 欧美日韩在线精品一区二区 | 天天看天天干天天操 | 99婷婷狠狠成为人免费视频 | 亚洲精品欧洲精品 | 在线色吧 | 成年人黄色大片在线 | 国产精品激情偷乱一区二区∴ | 免费观看黄 | 国产99久久久国产 | 免费福利在线视频 | 日韩欧美电影在线观看 | 久久久国产精品人人片99精片欧美一 | 超碰资源在线 | 69国产盗摄一区二区三区五区 | 又黄又爽的视频在线观看网站 | 很黄很黄的网站免费的 | 日日爽| 亚洲综合小说 | 波多野结衣视频一区 | 国内精品久久天天躁人人爽 | 一区三区视频在线观看 | 色婷婷www | 久久99精品国产麻豆宅宅 | 亚洲综合激情 | 国产黄色片免费在线观看 | 午夜性生活片 | 久久婷婷精品 | 国产中文a | 91av手机在线观看 | 欧美精品视 | 国产成人三级在线播放 | 免费观看性生活大片 | 一区二区三区电影 | 天天综合久久综合 | 日韩av男人的天堂 | 在线免费性生活片 | 欧美91av| 国产成人精品一区在线 | 黄色毛片视频免费观看中文 | 久久久国产精品久久久 | 91精品国产自产91精品 | 中文字幕三区 | 久草在线免费看视频 | 久久av一区二区三区亚洲 | 五月天久久激情 | 亚洲日本国产 | 中文字幕 国产视频 | 日韩激情中文字幕 | 国产成人高清 | 亚洲高清资源 | 国产福利91精品 | 久久无码av一区二区三区电影网 | 中文视频一区二区 | 特级黄色片免费看 | 午夜免费视频网站 | 日韩高清毛片 | 99精品视频网站 | 91精品在线视频观看 | 国产精品久久久区三区天天噜 | 国产精品 日韩精品 | 91网页版免费观看 | 久久国产精品久久精品国产演员表 | 99中文字幕| 最近中文字幕免费大全 | 不卡的av | 永久精品视频 | 久久精品国产一区二区三 | 久草电影免费在线观看 | 国产在线不卡一区 | 久久嗨 | 四虎8848免费高清在线观看 | 51精品国自产在线 | 久久综合久久综合久久综合 | 亚洲精品视频偷拍 | 91成人小视频 | 天堂激情网 | 久久精品久久精品久久39 | 在线看成人av | 黄色三级网站 | av电影免费看 | 伊人av综合 | 国产不卡av在线 | 亚洲精品一区二区18漫画 | 五月天综合在线 | 欧美激情精品一区 | 国产黄影院色大全免费 | 免费在线观看日韩欧美 | 精品国产电影一区 | 国产亚洲婷婷 | 久久男人影院 | 又粗又长又大又爽又黄少妇毛片 | 日韩午夜剧场 | 国产黄色看片 | 国产一级视频 | 亚洲精品免费在线观看视频 | 一级片免费在线 | 在线观看91精品视频 | 日本精品一二区 | 国产午夜精品免费一区二区三区视频 | 国产日本在线播放 | 日韩色高清 | 国产在线播放观看 | 国产精品一区免费观看 | 国产色婷婷 | 午夜久操 | 人人干干人人 | 精品久久久久久久久久久久久久久久久久 | www麻豆视频 | 人人澡人人添人人爽一区二区 | 欧美久久久久久久久久久 | 欧美做受高潮1 | 精品一区在线看 | 国产精品第一页在线观看 | 午夜精品久久久久久久久久久 | 激情欧美网 | 国产一区二区三区在线 | 欧美另类美少妇69xxxx | 久久99亚洲精品久久久久 | 在线影视 一区 二区 三区 | 国产不卡一| 天天操夜夜干 | 性色av一区二区 | 成全在线视频免费观看 | 正在播放一区二区 | 天天色天天干天天色 | 亚洲日本三级 | 成人免费av电影 | 91av亚洲 | 在线看黄色av | 日韩丝袜视频 | 五月婷婷在线综合 | 成人免费在线观看入口 | 在线视频观看你懂的 | 国产精品不卡一区 | 久久中文精品视频 | 国产中文字幕视频 | 欧美最新另类人妖 | 久久国产精品二国产精品中国洋人 | 亚洲成人免费观看 | 国产精品一区二区在线免费观看 | 激情视频二区 | 欧美十八| 久久69精品久久久久久久电影好 | 欧美与欧洲交xxxx免费观看 | 四虎www| 免费看短 | 在线性视频日韩欧美 | 日日夜夜网站 | 狠狠狠色丁香婷婷综合久久五月 | 久久久久久久久久久影院 | 日韩视频一区二区 | 国产xx视频 | 精久久久久| 亚洲精品免费视频 | 国产高清在线精品 | 在线观看91精品国产网站 | 久久午夜鲁丝片 | 粉嫩av一区二区三区四区五区 | 国产日韩高清在线 | 午夜18视频在线观看 | 婷婷六月天丁香 | 欧美一级特黄高清视频 | 久久久精品高清 | av免费在线看网站 | 黄色一级片视频 | 在线视频成人 | 国产精品九九九九九 | 亚洲精品中文在线 | 国产一级h | 91精品国产三级a在线观看 | 9999毛片| 九九九九热精品免费视频点播观看 | 五月天最新网址 | 伊人午夜 | 99精品偷拍视频一区二区三区 | 日韩欧美网址 | 久久亚洲综合色 | 久久99久| 成人黄色影片在线 | 日韩一二三区不卡 | 国产91综合一区在线观看 | 五月天高清欧美mv | 五月婷婷精品 | 亚洲 欧美 成人 | 玖玖国产精品视频 | 国产精品免费视频网站 | 欧美久久久一区二区三区 | 成人资源网 | 在线观看电影av | 毛片网站在线观看 | 98久9在线 | 免费 | 欧美日韩首页 | 国产成人亚洲精品自产在线 | 亚洲综合成人专区片 | 激情综合色综合久久综合 | 最近高清中文字幕在线国语5 | 97超碰.com| 天天做天天爱天天爽综合网 | 五月天天天操 | 国产一级特黄毛片在线毛片 | 天天操天天操天天操 | 999视频在线播放 | 久久久免费观看 | 国产精品美女毛片真酒店 | 中文字幕高清免费日韩视频在线 | 91网址在线观看 | jizz18欧美18 | 五月天久久久 | 99国产精品一区二区 | 久久免费视频2 | 波多野结衣视频网址 | 97视频在线观看视频免费视频 | 国产一区欧美一区 | 狠狠狠狠狠狠干 | 中文字幕超清在线免费 | 国产精品婷婷午夜在线观看 | 成人黄色片免费看 | 干狠狠 | 日韩av片无码一区二区不卡电影 | 狠狠干在线 | 欧美激情精品 | 九九九九色 | 免费网站黄 | 久久成人国产精品一区二区 | 久久三级视频 | 国产精品美女久久久网av | 久久好看免费视频 | 久久久久久久久久亚洲精品 | 久草在线免 | 久久综合久色欧美综合狠狠 | 美女视频免费一区二区 | 日韩一级片网址 | 日本成址在线观看 | 成人黄色国产 | 国产精品久久久久久a | 在线成人短视频 | 天天操天天操天天操天天操天天操天天操 | 成人黄色在线观看视频 | 日本黄色免费在线观看 | 欧美日韩综合在线 | 亚洲欧美在线综合 | 天天色天天草天天射 | 久久国产露脸精品国产 | 亚洲劲爆av | 国产91精品高清一区二区三区 | 国产精品久久久久久久久久久不卡 | 色全色在线资源网 | 久久精品综合一区 | 日韩在线观看小视频 | 久久艹综合 | 国产亚洲婷婷免费 | 欧美va天堂va视频va在线 | 免费亚洲黄色 | 中中文字幕av | 91粉色视频 | 999久久久久久久久 69av视频在线观看 | 日本中文字幕系列 | 欧美精品久久99 | 成人国产精品久久久久久亚洲 | www.国产在线 | 丰满少妇高潮在线观看 | 久久国产精品免费观看 | 色插综合| 国产一区二区在线影院 | 最近日本韩国中文字幕 | 国产精品12 | 成人黄色电影免费观看 | 99视频国产精品 | 国产色爽 | 久久国产精品第一页 | 国产中文伊人 | 日韩av视屏 | av片无限看| 婷婷五综合 | 伊人官网| a午夜在线 | 日韩视频免费在线 | 91丨九色丨国产在线 | 91精品1区 | 麻豆视频免费在线播放 | 天天人人 | 999久久国产精品免费观看网站 | www天天干| 精品欧美乱码久久久久久 | 日韩色高清 | 91少妇精拍在线播放 | 粉嫩一区二区三区粉嫩91 | 国产一区二区三区免费视频 | 超碰在线99 | 98涩涩国产露脸精品国产网 | 大片网站久久 | 久久久久久久久久久免费av | 日韩高清在线一区二区三区 | 91热精品 | 久久人人插 | 久久av网址 | 亚洲va韩国va欧美va精四季 | 国产精品一区二区三区免费看 | 97精品国产97久久久久久久久久久久 | 亚洲精品男人的天堂 | 午夜黄色大片 | 久久精品国产免费看久久精品 | 天天操夜夜叫 | 色偷偷888欧美精品久久久 | 91精品久久香蕉国产线看观看 | 免费看片成人 | 中文字幕三区 | 中文字幕日韩国产 | 天堂av免费 | 麻豆久久久久久久 | 一区二区久久久久 | 热久久最新地址 | 天天操欧美 | 九热精品 | 日韩3区 | 日韩综合视频在线观看 | 国产黄免费看 | 在线观看91精品视频 | 国产伦精品一区二区三区四区视频 | 国产亚洲欧美日韩高清 | 欧美另类巨大 | 激情丁香| 六月久久婷婷 | 深夜免费福利视频 | 国产精品黄色影片导航在线观看 | 久久久久久伊人 | 国产精品一区欧美 | 亚洲国产欧美一区二区三区丁香婷 | 91视频大全 | 天天艹天天干天天 | 久久久久国产一区二区三区 | 免费一级片在线观看 | 五月精品 | 久久精品3| 国产精品一区二区在线看 | 精品在线亚洲视频 | 久久久免费av | 国产人免费人成免费视频 | 免费在线观看的av网站 | 色婷婷狠狠五月综合天色拍 | 玖玖综合网 | 国产美女永久免费 | 色综合久久88色综合天天 | 永久免费看av | 91女神的呻吟细腰翘臀美女 | 在线免费黄色 | 成人av免费在线看 | 国产精品一区久久久久 | 国产一区免费在线观看 | 欧美特一级| 久久婷婷精品视频 | 国产精品ⅴa有声小说 | 国产精品日韩久久久久 | 久久人操 | 最新中文字幕在线资源 | 免费看的黄色小视频 | 免费三级黄 | 日韩,中文字幕 | 日韩在线影视 | 欧美国产日韩一区 | 日日干美女 | 久久国产精品免费一区二区三区 | 国产免费大片 | 亚洲 综合 精品 | 亚洲,国产成人av | 看片网站黄 | 久久99精品波多结衣一区 | 精品久久久久久一区二区里番 | 天天射,天天干 | 草在线视频 | 青青久草在线 | 亚洲精品tv | 麻豆久久久久久久 | avhd高清在线谜片 | 日日射天天射 | 欧美日韩不卡一区二区 | 久久九九九九 | 天天草av| 亚洲视频久久久 | 国产 日韩 中文字幕 | 国产喷水在线 | 日本精品久久久久影院 | 久久99精品国产99久久 | 亚洲五月综合 | 一级a性色生活片久久毛片波多野 | 久久 国产一区 | 91成人精品一区在线播放 | 亚洲精品a区 | 99精品免费久久久久久日本 | 色婷婷丁香 | 中文字幕在线观看第二页 | 亚洲第二色 | 五月婷婷视频 | 日日日日| 欧美乱大交| 麻豆av电影 | 91人人在线 | 婷婷在线五月 | 久久大视频 | 久久久国产精品人人片99精片欧美一 | 一区二区中文字幕在线播放 | 天天综合婷婷 | 欧美午夜久久久 | 国模视频一区二区三区 | 精品久久国产 | 99精品久久只有精品 | 超碰在线观看97 | 亚洲成人在线免费 | 日韩在线观看免费 | 91精品国产99久久久久久久 | www.狠狠操.com | 五月婷婷一区 | 欧美激情视频在线观看免费 | 日韩在线播放欧美字幕 | 久久久久久国产精品 | 天天射天 | 91污污视频在线观看 | 国内精品福利视频 | 亚洲精品国偷自产在线91正片 | 亚洲成a人片77777kkkk1在线观看 | 中文字幕一区二区三区在线播放 | 亚洲激精日韩激精欧美精品 | 涩涩色亚洲一区 | 成年人黄色免费视频 | 91最新国产 | 玖玖爱免费视频 | 五月婷综合 | 国产一区视频在线 | 最新久久免费视频 | 中文字幕五区 | 国内外成人免费在线视频 | 国产黄在线观看 | 97超碰在 | 国产精品综合久久久 | 字幕网资源站中文字幕 | 麻豆91在线观看 | 亚洲在线看 | 日韩视频欧美视频 | 99视频精品全部免费 在线 | 久章操 | 91一区啪爱嗯打偷拍欧美 | 欧美二区在线播放 | 日韩夜夜爽 | 欧洲高潮三级做爰 | 亚洲成人精品 | 美国av片在线观看 | 999久久久精品视频 日韩高清www | 精品一区二区电影 | 久久久久色 | 亚洲国产成人在线 | 日本深夜福利视频 | 夜色资源站wwwcom | 日韩国产在线观看 | 亚洲精品乱码白浆高清久久久久久 | 久久久精品欧美 | 国内丰满少妇猛烈精品播放 | 香蕉影院在线播放 | www欧美色 | 久久资源总站 | 玖玖视频网 | 国产日韩视频在线观看 | 久久66热这里只有精品 | 久久国语 | 亚洲午夜久久久久久久久电影网 | 丁香花在线视频观看免费 | 久久免费电影网 | 国产精品 欧美 日韩 | 国产成人区 | www免费看片com | 天天噜天天色 | 成人影视免费 | 最新日韩中文字幕 | 久久99精品波多结衣一区 | 色噜噜狠狠狠狠色综合久不 | 91中文字幕永久在线 | 日韩免费网站 | 免费在线观看视频a | 欧美黄污视频 | 久久伊人色综合 | 最近的中文字幕大全免费版 | 欧美极品少妇xxxx | 狠狠躁夜夜躁人人爽视频 | 在线观看成人福利 | 国产999精品久久久久久绿帽 | 久久精品视频在线免费观看 | 久久色网站 | 亚洲精品视频大全 | 久久综合加勒比 | 97成人精品区在线播放 | 免费看一级黄色大全 | 久久99精品久久久久久久久久久久 | 亚洲精品观看 | 一区二区三区电影在线播 | 国产精品毛片一区视频 | 91亚洲精| 亚洲精品国产精品乱码在线观看 | 亚洲精品视频在线观看免费 | 欧美精品乱码久久久久久按摩 | 特黄一级毛片 | 亚洲精选在线观看 | 国产美女在线观看 | 国产高清精品在线 | 成年人免费看的视频 | www激情网| 99精品色| 欧美吞精 | 免费看成人片 | www.色婷婷.com| 中文字幕中文字幕在线中文字幕三区 | 国产明星视频三级a三级点| 国产99久久久国产 | 狠狠干天天干 | 国产精品ⅴa有声小说 | av日韩在线网站 | 99爱在线 | 国产精品男女视频 | 色婷婷丁香 | 久艹视频在线免费观看 | 欧美 亚洲 另类 激情 另类 | 香蕉视频在线视频 | 欧美日韩不卡在线观看 | 欧美午夜a| 亚洲日本在线视频观看 | www.狠狠色.com| 黄色免费大片 | 国产精品精品国产婷婷这里av | 91av播放 | 美女免费电影 | 91福利社区在线观看 | av超碰免费在线 | 国产精品原创视频 | 国产中文字幕在线 | 免费看黄20分钟 | 在线成人免费电影 | 日韩免费在线观看视频 | 国产一级二级三级视频 | 91成人免费 | 狠狠狠色丁香综合久久天下网 | 中文字幕免费在线看 | 亚洲欧美激情精品一区二区 | 色亚洲激情 | 亚洲伦理电影在线 | 国产亚洲视频中文字幕视频 | 日韩av影视 | 91精品国产九九九久久久亚洲 | 久久精品99国产精品亚洲最刺激 | 国产黄色资源 | 国产无吗一区二区三区在线欢 | 操操色 | 国产人成免费视频 | 香蕉网在线观看 | 精品色999| 久久草在线精品 | 成人av在线直播 | 狠狠的干狠狠的操 | 天天草视频 | 一区二区精品在线视频 | 久久综合色8888 | 最近中文字幕视频网 | 一二三区在线 | 日本一区二区高清不卡 | 综合网天天色 | 97超碰人人爱 | 曰本三级在线 | 又粗又长又大又爽又黄少妇毛片 | 日韩电影一区二区三区在线观看 | 97**国产露脸精品国产 | 色网站在线免费观看 | 午夜视频免费在线观看 | 亚洲成人av电影在线 | 高清久久久久久 | 91人人人 | 欧美 亚洲 另类 激情 另类 | 欧美精品被 | 中文字幕在线观看国产 | 人人爽人人爽人人片av免 | 日韩欧美视频一区 | 国产精品一区在线播放 | 色黄久久久久久 | 国语麻豆 | 久久激情五月婷婷 | 婷婷丁香自拍 | 97在线观看免费观看 | 国产精品系列在线播放 | 亚洲精品乱码白浆高清久久久久久 | 久久99久久99久久 | av 一区二区三区四区 | 日本久久综合网 | 91手机视频 | 99视频精品免费观看, | 国产精品美女久久久久久久久久久 | 久久精品久久久久电影 | 国产又粗又猛又爽 | 成人av在线电影 | 久久久久国产精品免费免费搜索 | 亚洲作爱视频 | 中文字幕色在线 | 99精彩视频在线观看免费 | 日韩午夜电影院 | 97精品国产91久久久久久久 | 久久综合九色综合久99 | 中文免费观看 | 久久精品三级 | 九月婷婷人人澡人人添人人爽 | 超碰公开在线观看 | 成人福利在线 | 欧美一区在线看 | 狠狠干五月天 | 一区二区三区在线观看免费 | av成人在线看 | 又黄又爽又刺激的视频 | 午夜精品一区二区三区在线视频 | 五月天婷亚洲天综合网精品偷 | 天天综合中文 | 免费观看全黄做爰大片国产 | 五月婷婷伊人网 | 欧美极品少妇xbxb性爽爽视频 | 国产999精品 | 日本黄色黄网站 | 久久精品一区二区三区国产主播 | 激情五月婷婷激情 | 国产精品久久久久久久久久久久午 | 999久久久久久 | 久久精品视频在线播放 | 在线看一区| www.av免费观看 | 亚洲成av人片在线观看www | 中文字幕超清在线免费 | 久久久久国产一区二区三区四区 | 开心色激情网 | 国产精品自产拍在线观看蜜 | 91热视频| 国产精品久久久亚洲 | 亚洲国产成人久久综合 | 久久久私人影院 | 欧美日韩免费一区二区 | 一区二区三区精品在线视频 | 中文字幕欲求不满 | 丁香婷婷综合色啪 | 亚洲精品麻豆视频 | 97精品在线视频 | 成人毛片在线视频 | 99精品视频在线观看播放 | 欧美大片mv免费 | 国产一级视频在线免费观看 | 99热高清| 欧美在线18 | 国产一级大片免费看 | 高清在线一区二区 | 亚洲激情 在线 | 日韩精品在线免费播放 | 不卡av电影在线观看 | 成人免费xyz网站 | 国产一区二区电影在线观看 | 日韩视 | 久久精品官网 | 4438全国亚洲精品在线观看视频 | 久久久69 | 亚洲精品久久久久久久不卡四虎 | 国产黄在线免费观看 | 久久网站免费 | 国产高清精品在线观看 | 视频直播国产精品 | 欧美日韩一级视频 | 在线观看成人福利 | 亚洲国产中文在线观看 | 久久艹中文字幕 | 国产黄色片一级三级 | 黄网站色成年免费观看 | 国产福利a| 久久6精品 | 黄色最新网址 | 天天在线免费视频 | 天天躁天天操 | 色综合久久精品 | 精品久久网站 | 中文字幕在线观 | 黄色aaa级片 | 免费中文字幕在线观看 | 国产精品久久久久久a | 91亚州| 亚洲精选视频在线 | 亚洲欧美国产日韩在线观看 | 九九视频免费观看视频精品 | 蜜臀av夜夜澡人人爽人人桃色 | 国产精品丝袜久久久久久久不卡 | 97电院网手机版 | 婷婷免费在线视频 | 亚洲国产视频直播 | 天天爽夜夜爽人人爽一区二区 | 成人国产精品久久久 | 欧美专区日韩专区 | 在线国产中文字幕 | 久久视频在线免费观看 | 狠狠色丁香久久婷婷综合_中 | 久久福利精品 | 在线成人短视频 | 精品一二三区视频 | 日韩欧美视频二区 | 久久久久免费精品视频 |