色五月色开心色婷婷色丁香,五月婷婷丁香花综合网,婷婷丁香五月激情综合在线,五月婷婷六月丁香动漫,婷婷丁香五月激情综合在线,丁香花中文字幕在线观看,播五月色五月开心五月网,开心激情综合网,狠狠色丁香婷婷综合最新地址,丁香视频在线观看,狠狠做六月爱婷婷综合av,久久激情五月丁香伊人

ARTICLE DETAIL

資訊詳情

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

C# NPOI 操作 Excel:選型、流式導出與避坑

C# NPOI 操作 Excel:選型、流式導出與避坑 簡介面向正在用 C# 處理 Excel 的 .NET 開發(fā)者這份資料圍繞 NPOI 庫給出可直接參考的讀寫示例覆蓋舊版 .xls 與新版 .xlsx 兩種格式既適合剛接觸 NPOI 的新手入門也適合需要封裝通用工具類的中級開發(fā)者對照借鑒。壓縮包共 15 個文件以 12 個 dll 依賴庫為主另有 2 個 cs 源碼與 1 個 xml 配置整體約 2.19MBdll 提供 NPOI 各模塊及 JSON、壓縮等支撐能力cs 文件則呈現(xiàn)工具類的組織方式。內(nèi)容涉及工作簿與工作表創(chuàng)建、單元格寫入與遍歷讀取、字體邊框?qū)R等樣式設置、文件保存和異常處理并按 2012Version 與 201607Version 分版本實現(xiàn)便于比較不同 NPOI 版本下的 API 差異及 HSSF、XSSF 兩套模型。已有 6358 人學習可為項目中的 Excel 導入導出、報表生成與工具類封裝提供參考。1. 別急著裝 Office先看清 C# NPOI 操作Excel 到底解決什么問題后臺要導一份對賬單服務器上沒裝 OfficeMicrosoft.Office.Interop.Excel一跑就拋 0x800A03EC這個場景我見過不止一次。換個角度看C# NPOI 操作Excel 最省心的地方恰恰是它根本不碰 Office——純托管庫在進程里直接拼 xls/xlsx 的二進制結構服務器裝不裝 Office 都能跑。它一套 API 覆蓋兩種格式老的.xls走 HSSF新的.xlsx走 XSSF數(shù)據(jù)量大再換 SXSSF 流式寫十萬行也不至于把內(nèi)存吃穿。適合做報表導出、批量數(shù)據(jù)導入、模板填充的后臺服務、桌面工具和接口項目如果你只是偶爾手動改個表那確實沒必要上它。2. 技術選型與工程結構HSSF、XSSF、SXSSF 三套模型怎么分工打開 NPOI 的命名空間會看到一堆HSSF開頭的類第一反應通常是“這不是 Java 那套的翻版嗎”。確實接口模型沿用了IWorkbook/ISheet/IRow/ICell這層抽象好處是同一份業(yè)務代碼換個實現(xiàn)類就能讀寫不同格式壞處是新手很容易在new的那一行就把類型寫死后面想兼容.xls就得大改。選型這一步基本決定了后面會不會返工所以拆代碼之前先把模型說清楚。2.1 三種工作簿模型的邊界模型對應格式內(nèi)存形態(tài)適用量級主要限制HSSFWorkbook.xls全量駐留內(nèi)存幾萬行以內(nèi)單表 65536 行、256 列XSSFWorkbook.xlsxDOM 全量駐留十萬行內(nèi)看堆大小行數(shù)越多內(nèi)存線性上漲SXSSFWorkbook.xlsx滑動窗口 磁盤臨時文件百萬行級已刷出的行不能再改、不能刪行我的默認規(guī)則很粗暴對方?jīng)]明確要求.xls一律XSSFWorkbook導出預估超過五萬行直接上SXSSFWorkbook只有對接老系統(tǒng)、對方還在用舊版表格軟件時才回頭用HSSF。這條規(guī)則能省掉九成的兼容性扯皮。SXSSF 的代價必須提前說清楚。它把已經(jīng)寫出去的行刷到磁盤臨時文件內(nèi)存里只留窗口內(nèi)的那幾百行所以你別想回頭sheet.GetRow(0)去改第一行——那時候它已經(jīng)在臨時文件里了GetRow直接返回null。需要回頭改的東西合計行、頁腳匯總要么放最后寫要么在窗口還沒刷出去之前處理掉。這個限制踩過一次就記住了。還有一個反直覺的點讀文件時判斷格式不要靠文件后綴用WorkbookFactory.Create(stream)讓它自己嗅探。業(yè)務方發(fā)過來的“對賬單.xls”里裝著的其實是 HTML 表格這種事我一年能遇到兩回。2.2 示例工程的分層與目錄結構示例工程我按“核心邏輯不依賴 UI、不依賴文件系統(tǒng)”來切目錄長這樣NpoiExcelDemo/ ├── NpoiExcelDemo.sln ├── src/ │ ├── NpoiExcelDemo.Core/ # 只做 Excel 讀寫不放業(yè)務 │ │ ├── ExcelReader.cs │ │ ├── ExcelWriter.cs │ │ ├── ExcelStyleFactory.cs │ │ ├── ExcelColumnAttribute.cs │ │ └── Models/OrderRow.cs │ ├── NpoiExcelDemo.Console/ # 命令行入口跑兩個示例 │ │ └── Program.cs │ └── NpoiExcelDemo.Tests/ # xUnit用內(nèi)存流做往返測試 │ └── RoundTripTests.cs ├── samples/ │ ├── legacy.xls # 老格式樣本 │ └── modern.xlsx # 新格式樣本 └── templates/ └── 對賬單模板.xlsxCore里我堅持不讓IWorkbook泄漏出去。對外方法簽名一律是Stream進、Stream或ListT出業(yè)務層根本不需要using NPOI.SS.UserModel;。這么做有兩個直接好處單測里傳一個MemoryStream就能跑完整鏈路不落盤Web 上傳場景拿到IFormFile.OpenReadStream()可以直接喂進去不用先存臨時文件再刪。samples目錄的作用容易被低估。.xls和.xlsx在單元格類型、日期序列號、公式緩存上的行為并不完全一致光靠猜沒用必須有一份真實的舊格式文件反復驗證。templates目錄則是給“模板填充”這種需求準備的——表頭、樣式、合并單元格都在模板里做好代碼只負責往里塞數(shù)據(jù)行改樣式的時候不用改代碼。3. 從零跑通裝包、寫第一個 xlsx、再讀回 xls這一章的操作照著敲就能跑起來目標是把“寫出去”和“讀進來”這兩條鏈路都走通一遍中間不留黑匣子。3.1 建工程與引包# 建解決方案和兩個項目 dotnet new sln -n NpoiExcelDemo dotnet new classlib -n NpoiExcelDemo.Core -o src/NpoiExcelDemo.Core dotnet new console -n NpoiExcelDemo.Console -o src/NpoiExcelDemo.Console # 掛到解決方案下 dotnet sln add src/NpoiExcelDemo.Core src/NpoiExcelDemo.Console # NPOI 只需要裝在 Core 里Console 通過項目引用拿到 dotnet add src/NpoiExcelDemo.Core package NPOI dotnet add src/NpoiExcelDemo.Console reference src/NpoiExcelDemo.Core這里面幾個參數(shù)值得說明。-o是指定輸出目錄把項目塞進src/是習慣不塞也能跑。dotnet add package NPOI不寫版本號默認拉最新穩(wěn)定版如果目標框架是netstandard2.0要給老項目引用加-f netstandard2.0或者直接改 csproj 里的TargetFramework。Framework 4.x 的老項目不走 CLI在包管理器里裝完記得看一眼依賴項——NPOI 會順帶拉一個壓縮庫發(fā)布的時候別只拷了NPOI.dll就以為完事了缺依賴的報錯信息通常很含糊只說“未能加載文件或程序集”排查起來全靠猜。提示目標框架選net8.0還是netstandard2.0取決于調(diào)用方。庫給多個項目共用就選netstandard2.0純新項目選net8.0能用上Span之類的新 API。3.2 寫出第一個 .xlsxNPOI 的層級就四層工作簿 → 工作表 → 行 → 單元格。下面這段是最小閉環(huán)using NPOI.SS.UserModel; using NPOI.XSSF.UserModel; public static void WriteSimple(string path) { // 1. 工作簿XSSF 對應 .xlsx IWorkbook workbook new XSSFWorkbook(); ISheet sheet workbook.CreateSheet(對賬單); // 2. 表頭行 IRow header sheet.CreateRow(0); string[] titles { 訂單號, 客戶, 金額, 下單時間 }; for (int i 0; i titles.Length; i) { header.CreateCell(i).SetCellValue(titles[i]); } // 3. 數(shù)據(jù)行 IRow row sheet.CreateRow(1); row.CreateCell(0).SetCellValue(SO-2024001); row.CreateCell(1).SetCellValue(某客戶); row.CreateCell(2).SetCellValue(1280.50); // 數(shù)值走 double 重載 row.CreateCell(3).SetCellValue(DateTime.Now); // 日期直接給 DateTime // 4. 列寬單位是 1/256 個字符寬度20 * 256 20 字符 sheet.SetColumnWidth(0, 20 * 256); using var fs new FileStream(path, FileMode.Create, FileAccess.Write); workbook.Write(fs); }逐段說一下。CreateSheet傳的名字就是 Excel 底部的標簽名超過 31 個字符或含[]:*?/\會直接拋異常。CreateCell(i)的索引從 0 開始跳著創(chuàng)建也允許比如只創(chuàng)建第 0 和第 5 個中間的空單元格讀回來是CellType.Blank。金額這一行是關鍵SetCellValue(1280.50)存的是數(shù)值Excel 里能參與求和如果圖省事寫成SetCellValue(1280.50)存的是文本Excel 會在左上角給你標個綠色小三角用戶一點“轉(zhuǎn)換為數(shù)字”全部格式又亂掉血淚經(jīng)驗。日期同理SetCellValue(DateTime)會把它轉(zhuǎn)成序列號存儲顯示格式由單元格樣式的DataFormat決定不設樣式就是默認的日期顯示。最后workbook.Write(fs)這個重載在不同版本上行為有差異有的會把流關掉有的不會。不確定的話就在Write之后立刻fs.Flush()并且不要指望后面還能繼續(xù)往這個流里寫東西。3.3 用 WorkbookFactory 統(tǒng)一讀 .xls 和 .xlsx讀這邊最容易犯的錯是寫死new XSSFWorkbook(fs)遇到.xls就拋Invalid header signature。正確姿勢是工廠加接口using NPOI.SS.UserModel; public static void ReadAny(string path) { using var fs new FileStream(path, FileMode.Open, FileAccess.Read); // 關鍵工廠根據(jù)文件頭自動選 HSSF 還是 XSSF IWorkbook workbook WorkbookFactory.Create(fs); for (int s 0; s workbook.NumberOfSheets; s) { ISheet sheet workbook.GetSheetAt(s); // LastRowNum 是最后一行索引空表返回 -1不能直接當行數(shù) for (int r sheet.FirstRowNum; r sheet.LastRowNum; r) { IRow row sheet.GetRow(r); if (row null) continue; // 整行被刪過就是 null不判會 NRE for (int c 0; c row.LastCellNum; c) { ICell cell row.GetCell(c); Console.Write(ExcelReader.GetCellText(cell) \t); } Console.WriteLine(); } } }WorkbookFactory.Create支持傳Stream或FileInfo內(nèi)部會讀文件頭判斷格式比看后綴靠譜得多。FirstRowNum和LastRowNum都返回索引空表或者全空行的情況下LastRowNum可能是-1、0或者你以為的行數(shù)寫for循環(huán)時用并且判row null這兩道保險缺一不可。GetSheetAt是按順序取GetSheet(名字)是按名取。名字取不到會返回null而不是拋異常后面直接.GetRow()就炸了所以按名取的時候記得判空。3.4 跑起來看一眼dotnet run --project src/NpoiExcelDemo.Console -- ./out/demo.xlsx ./samples/legacy.xls參數(shù)依次是輸出路徑和要讀的舊格式樣本。跑完先確認三件事out/demo.xlsx能被正常打開、金額那一列右對齊且能求和、legacy.xls的中文沒有亂碼。這三條過了說明環(huán)境、依賴、編碼都沒問題后面再改代碼就是純業(yè)務活了。4. 核心模塊拆解取值、樣式、大文件、格式差異這一段是真正要反復用的東西。示例里那幾個方法寫短是因為把所有坑都收進了這幾個方法里。4.1 單元格取值CellType 分支一個都不能漏讀 Excel 最典型的故障是“日期變成 45000 這種數(shù)字”根子在CellType.Numeric—— 日期在底層就是數(shù)字靠樣式區(qū)分。所以取值方法必須寫成這樣public static string GetCellText(ICell cell) { if (cell null) return string.Empty; switch (cell.CellType) { case CellType.String: return cell.StringCellValue; case CellType.Numeric: // 日期底層是序列號必須靠單元格樣式判斷直接 ToString 會得到 45000 if (DateUtil.IsCellDateFormatted(cell)) return cell.DateCellValue?.ToString(yyyy-MM-dd HH:mm:ss) ?? ; return cell.NumericCellValue.ToString(); case CellType.Boolean: return cell.BooleanCellValue ? TRUE : FALSE; case CellType.Formula: // 公式要按緩存結果類型再分一次支不能直接取 StringCellValue switch (cell.CachedFormulaResultType) { case CellType.Numeric: return DateUtil.IsCellDateFormatted(cell) ? cell.DateCellValue?.ToString(yyyy-MM-dd) ?? : cell.NumericCellValue.ToString(); case CellType.String: return cell.StringCellValue; default: return cell.ToString() ?? ; } case CellType.Blank: return string.Empty; case CellType.Error: // 把 #DIV/0! 這類錯誤碼還原成可讀文本 return FormulaError.ForInt(cell.ErrorCellValue).String; default: return cell.ToString() ?? string.Empty; } }三個地方值得單獨講。DateUtil.IsCellDateFormatted(cell)是個靜態(tài)工具方法內(nèi)部讀的是單元格樣式的DataFormat字符串判斷是不是日期/時間格式比自己寫正則靠譜。CellType.Formula分支里必須先看CachedFormulaResultType—— 公式單元格的StringCellValue只有在緩存結果是字符串時才有效緩存是數(shù)字你卻去取字符串拿到的是空串或者直接拋異常這種問題在日志里只表現(xiàn)為“某幾列讀出來是空的”非常難定位。FormulaError.ForInt把0x07這種錯誤碼轉(zhuǎn)成#DIV/0!報表里帶著錯誤碼有時候反而是有用的信息別急著當成異常吞掉。注意DateCellValue在較新版本里是DateTime?老版本可能是DateTime。如果編譯報“無法將 DateTime 轉(zhuǎn)換為 DateTime?”說明你手上的版本比較舊去掉?.就行。4.2 樣式復用ICellStyle 是共享池不是隨手 new 的樣式是 NPOI 里最容易被寫成性能問題的模塊。工作簿內(nèi)部維護一個樣式池你每CreateCellStyle()一次就多占一個槽位.xls上限大約 4000 個.xlsx大約 64000 個超了直接拋異常而且文件體積會以肉眼可見的速度膨脹——見過一個導出的表 800KB 數(shù)據(jù)配 60MB 樣式就是這么來的。正確做法是做個樣式工廠按 key 緩存public sealed class ExcelStyleFactory { private readonly IWorkbook _wb; private readonly Dictionarystring, ICellStyle _cache new(); public ExcelStyleFactory(IWorkbook wb) _wb wb; public ICellStyle Money(string format #,##0.00) { if (_cache.TryGetValue(format, out var cached)) return cached; var style _wb.CreateCellStyle(); // 每調(diào)一次就占一個樣式槽 style.DataFormat _wb.CreateDataFormat().GetFormat(format); style.Alignment HorizontalAlignment.Right; style.BorderBottom BorderStyle.Thin; style.VerticalAlignment VerticalAlignment.Center; _cache[format] style; return style; } }CreateDataFormat().GetFormat(#,##0.00)里的格式串跟 Excel 自定義格式語法一致0.00%、yyyy/m/d、#,##0;(#,##0)這些都能直接用格式串本身也是被緩存的同一個串多次調(diào)用返回同一個對象。Money方法用格式串當緩存 key是因為同一個工作簿里不同列可能需要不同小數(shù)位用字符串做 key 天然支持多套格式共存。用法上先取一次樣式循環(huán)里反復賦給不同單元格var styles new ExcelStyleFactory(workbook); var moneyStyle styles.Money(); foreach (var item in rows) { var cell row.CreateCell(2); cell.SetCellValue(item.Amount); cell.CellStyle moneyStyle; // 賦值不是 new }4.3 SXSSF 流式導出十萬行不能再用 XSSF數(shù)據(jù)量上去以后XSSFWorkbook把所有行都留在內(nèi)存里十萬行乘以十幾列堆基本就撐不住了。換成 SXSSFpublic static void WriteLarge(string path, IEnumerableOrderRow rows, int windowSize 500) { // windowSize內(nèi)存里保留的行數(shù)超出的會被刷到磁盤臨時文件 var workbook new SXSSFWorkbook(windowSize); try { var sheet workbook.CreateSheet(明細); int r 0; foreach (var item in rows) { var row sheet.CreateRow(r); row.CreateCell(0).SetCellValue(item.OrderNo); row.CreateCell(1).SetCellValue(item.CustomerName); row.CreateCell(2).SetCellValue(item.Amount); // 注意這一行一旦被刷出去后面 GetRow(r) 就取不到了 } using var fs new FileStream(path, FileMode.Create, FileAccess.Write); workbook.Write(fs); fs.Flush(); } finally { workbook.Close(); workbook.Dispose(); // 必須顯式調(diào)用否則臨時文件會留在系統(tǒng)臨時目錄 } }windowSize這個參數(shù)是內(nèi)存和磁盤 IO 的平衡點。設太小比如 100刷盤頻繁寫十萬行能明顯感覺到慢設太大比如 5000內(nèi)存優(yōu)勢就沒那么明顯了。我一般按 500 起步實測導出耗時偏高再往上調(diào)。Dispose()這一步不能省。SXSSF 在系統(tǒng)臨時目錄里建的文件只有Dispose才會清理進程長時間跑批又不釋放臨時目錄遲早被塞滿然后你會收獲一堆“磁盤空間不足”的告警排查半天發(fā)現(xiàn)是自己導出的表。4.4 兩種格式的行為差異能力.xlsHSSF.xlsxXSSF / SXSSF單表最大行655361048576單表最大列25616384單元格樣式上限約 4000約 64000文件本質(zhì)二進制復合文檔zip 包 若干 xml新函數(shù)支持只有老函數(shù)集基本都能用讀入內(nèi)存占用相對低相對高這張表最有用的兩行是行數(shù)上限和樣式上限。行數(shù)超了不會報錯會直接截斷一百萬條數(shù)據(jù)導出成.xls最后只剩六萬五而且沒有任何提示——這種 bug 上線之后才被發(fā)現(xiàn)返工成本極高。樣式上限則是另一個方向.xls到 4000 就拋InvalidOperationException堆棧里看不到你的業(yè)務代碼只看到 NPOI 內(nèi)部的Workbook.CreateCellStyle。5. 避坑與排查五個真踩過的問題5.1 日期讀出來是 45000 這樣的整數(shù)現(xiàn)象導入的對賬單里時間列全是五位數(shù)用戶以為數(shù)據(jù)錯了。 原因CellType.Numeric分支直接NumericCellValue.ToString()沒判斷日期格式。日期在 Excel 里本質(zhì)是從 1900-01-01 起算的天數(shù)45000就是某個真實日期。 解決取值統(tǒng)一走 4.1 那個GetCellTextNumeric分支先DateUtil.IsCellDateFormatted(cell)再決定是格式化日期還是原樣輸出數(shù)字。5.2 導出的文件打不開提示“發(fā)現(xiàn)不可讀取的內(nèi)容”現(xiàn)象瀏覽器下載下來的 xlsxExcel 打開報修復提示點“是”之后內(nèi)容可能還在也可能丟了。 原因九成是流被提前關掉或者Position沒歸零。workbook.Write(stream)在某些版本會關閉傳入的流之后Response.Body再寫就寫不進去了另一種是同一個MemoryStream寫完沒Position 0就直接當讀的源用。 解決寫文件的流自己using管好生命周期別依賴庫來關Web 場景用MemoryStream寫完先ToArray()再輸出讀之前一律stream.Position 0。5.3 大批量導出時內(nèi)存飆升甚至 OOM現(xiàn)象導五萬行的時候進程內(nèi)存漲到 2G 以上容器直接被 kill。 原因用了XSSFWorkbook所有行和單元格對象都駐留在堆里一個單元格對象幾十字節(jié)五萬行乘二十列就是一千萬個對象。 解決換成SXSSFWorkbook窗口設 500 左右順手檢查一下是不是在循環(huán)里CreateCellStyle那個也是內(nèi)存大戶。5.4 讀 .xls 報 Invalid header signature現(xiàn)象文件后綴明明是.xlsnew XSSFWorkbook(fs)直接拋異常。 原因一種是用錯了實現(xiàn)類.xls得用 HSSF另一種更陰——某些系統(tǒng)導出的“xls”其實是 HTML 表格或者 CSV 改了后綴二進制頭根本不是 OLE 復合文檔。 解決讀入口統(tǒng)一用WorkbookFactory.Create(fs)讓庫自己判斷如果工廠也認不出來用十六進制工具看一眼文件頭D0 CF 11 E0是真的 xlsPK是 xlsxhtml或者table就是偽裝的得先當文本解析再轉(zhuǎn)。5.5 單元格樣式莫名不生效現(xiàn)象設置了邊框和背景色打開文件發(fā)現(xiàn)只有第一行有后面全是白板。 原因ICellStyle是工作簿級別的共享對象但很多人習慣在循環(huán)里CreateCellStyle()之后只對當前單元格賦值同時又在別處CloneStyleFrom覆蓋了屬性結果樣式對象被復用后互相污染。 解決樣式只在工廠里創(chuàng)建一次循環(huán)里只做cell.CellStyle cachedStyle賦值確實需要“繼承再加一點差異”的用CloneStyleFrom克隆出一個新對象并單獨緩存別在原對象上改。6. 二次開發(fā)把示例收成一層能復用的導入導出示例代碼寫到后面你會發(fā)現(xiàn)每個業(yè)務實體都在重復“讀表頭 → 找列 → 轉(zhuǎn)類型”這套動作。我一般會加一個特性加反射的映射層讓業(yè)務代碼只寫實體。[AttributeUsage(AttributeTargets.Property)] public sealed class ExcelColumnAttribute : Attribute { public ExcelColumnAttribute(string title) Title title; public string Title { get; } } public sealed class OrderRow { [ExcelColumn(訂單號)] public string OrderNo { get; set; } ; [ExcelColumn(金額)] public decimal Amount { get; set; } [ExcelColumn(下單時間)] public DateTime CreatedAt { get; set; } }讀取端靠表頭文本反查屬性允許列順序和實體屬性順序不一致public static ListT ReadT(Stream stream) where T : new() { var map typeof(T).GetProperties() .Select(p (Prop: p, Attr: p.GetCustomAttributeExcelColumnAttribute())) .Where(x x.Attr ! null) .ToDictionary(x x.Attr!.Title, x x.Prop); IWorkbook wb WorkbookFactory.Create(stream); ISheet sheet wb.GetSheetAt(0); IRow header sheet.GetRow(sheet.FirstRowNum); // 表頭文本 - 列索引 var index new Dictionarystring, int(); for (int c 0; c header.LastCellNum; c) { var title ExcelReader.GetCellText(header.GetCell(c)).Trim(); if (!string.IsNullOrEmpty(title) map.ContainsKey(title)) index[title] c; } var list new ListT(); for (int r sheet.FirstRowNum 1; r sheet.LastRowNum; r) { var row sheet.GetRow(r); if (row null) continue; var entity new T(); foreach (var (title, prop) in map) { if (!index.TryGetValue(title, out var c)) continue; var text ExcelReader.GetCellText(row.GetCell(c)); if (string.IsNullOrWhiteSpace(text)) continue; // 可空類型要剝一層Convert.ChangeType 不認 NullableT var target Nullable.GetUnderlyingType(prop.PropertyType) ?? prop.PropertyType; prop.SetValue(entity, Convert.ChangeType(text, target)); } list.Add(entity); } return list; }改完之后業(yè)務側就一行var rows ExcelImporter.ReadOrderRow(stream);字段增減只改實體上的特性不用碰解析代碼。驗證方式我用往返測試不落盤、跑得快[Fact] public void Xlsx_RoundTrip_ShouldKeepAmount() { var ms new MemoryStream(); using (var wb new XSSFWorkbook()) { var sheet wb.CreateSheet(t); var head sheet.CreateRow(0); head.CreateCell(0).SetCellValue(訂單號); head.CreateCell(1).SetCellValue(金額); var data sheet.CreateRow(1); data.CreateCell(0).SetCellValue(SO-1); data.CreateCell(1).SetCellValue(99.5); wb.Write(ms); } ms.Position 0; // 不歸零讀出來就是空的 var rows ExcelImporter.ReadOrderRow(ms); Assert.Single(rows); Assert.Equal(99.5m, rows[0].Amount); }這個測試我建議再補三個邊界樣本一個帶合并單元格的表頭、一個日期列為空的行、一個金額列是公式的表。前兩個驗證判空邏輯第三個驗證CachedFormulaResultType分支。這三個樣本跑通線上八成的導入投訴基本能提前擋掉。從那以后我每次接 Excel 相關的需求都會先問清三句話讀進來的是什么格式、寫出去給誰用、最大多少行然后才動手寫第一行代碼。希望幫到你。本文還有配套的精品資源點擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
国产精品久久久| 久久久久久久久一区二区三区| 国内毛片欧美香蕉精品| 东京热大香焦| 中文字幕在线观看AV| 高清国产性猛交xxxx乱大交| 农村少妇久久久久久久| 69人妻精品丰满熟女区| 爽爽淫人网| 久干9操| 青青草公开在线免费不卡视频| 丰满人妻一区二区三区在线| 91九色网| 国产刺激视频| 一起草av| 一本正道久久熟女| 中文字幕视频在线观看一区二区| 日本欧美亚洲高清在线看| 91成人18| 自拍偷拍 日韩欧美| 中文字幕一区二区三区四五区| 亚洲91亚洲| 久久久久13| 99热国产| 曰本精品久久久| 日韩乱码Av| 黄片com.| 伊人嫩草| 婷婷午夜成人色中色| 日韩黄片影院| 国产强奸乱伦xd| 日本999精品视频| 啊啊啊啊啊啊啊好爽不要| 四虎在线免费视频| 久久久无码精品人妻二区| 长久操视频| 欧美体内射精| 91日韩国产欧美亚洲另类精盘州至城都| 青青草成人视频在线观看二区| 国产一级做a爰大片免费久久| 无码国产Av| 日韩亚洲中文字幕在线| 99热网站| 人人搡人人肉久久精品| 蜜臀久久99'精品久久久| 后入福利| 強姦亂倫a| 日韩欧美中文日韩欧美色| av天堂5| 亚洲九区| 色综合99999| 人妻少妇久久| 熟女这里只有精品6| 国产专区第一页| 久草热制服丝袜在线观看 | 丰满少妇高潮无码| 69久久| 欧美性爱精品七区| 久久激情五月| 男人天堂无码| 一区二区三区黄片免费观看| 久久日韩毛| 少妇第一页| 精品91| 强奸乱伦大香蕉网| 91丝袜激情在线| 97啪啪| 国产亚洲国产超碰| 亚洲综合伊人| 日本无码1| 精品一区二区三区最新| 亚洲精品91| 亚洲黄色网址视频| 操淫穴亚洲五月丁香 | 999精品国产高清一区二区| 亚洲日本韩国在线| 97视频在线视频| 日韩美女啪啪一区| 日韩精品第3页| 亚洲天堂五月天国产| 色色热| 夜色91| 91狠婷| 久久鲁干| 日本久久久精品电影| 丁香六月东京热| 欧美91精彩| 国产黄片精品在线| 中文字幕免费看| 亚洲一级特黄大片在线播放91| 天天天乱色综合全| 国产精品成人蜜臀AV在线| 国产日韩欧美| 九九亚洲| 亚洲精品三区在线观看| 国产日韩中文字幕欧美| 狠狠操夜夜操蜜桃视频三区| 欧美日本成人一区二区| 亚洲精品天天影视综合网| 91精品微拍福利| 成人热久久精品| www.av在线观看| 性色A∨91| 女生自91网站| 麻豆60秒| 超碰人人色| 精品人妻一区二区三区日产| 久久伦理视频久久大香蕉视频| 久久精品国产亚洲AV无码电影| 不卡在线观看视频| 亚洲av影院在线观看| 东京热AV男人的天堂| 黑丝内射一区二区三区| 欧美综合传媒| 国产精品直播在线观看直播| av线电影| 亚洲限制级| 中文字幕在线观看二区三区| AV麻豆免费一区| 亚洲激情久久久伊人综合| 亚洲一区二区三区麻豆传媒| 婷婷久久久| 免费作爱一级视频| 一起草日韩| 无码久久国产 | 台欧久久精品视频| 五月丁香啪啪| www色婷婷| 天天看天天在线精品| 密臀在线一区尤物| 天天欧美| 亚洲在线网站| 精品国产丝袜一区二区三区乱码| 青青免费在线视频一区| 成人乱人伦一区二区| 天天影视色香欲综合网小说| 蜜臀99久久精品久久久久久| 蜜臀一二三区| 美女t无毒不卡不卡| 亚洲AV色图一区| 91影视亚洲| 欧美高潮| 一区二区三区欧美激情| 国产成人无码网站在线视频| 欧美三级不卡| 久久啊啊啊视频| 午夜福利在线合集| 国产日本顶级一区二区三区| 日产操逼| 极品尤物在线观看| 午夜福利精品| 色色婷婷五月天| 麻豆天美电影一区二区| 高潮综合网| 蜜区区视频79| 亚洲激情综合| 欧美在线大香999| 青青草一本道福利视频| 天天射天天操天天干天天吃2018| 男人的天堂va在线| 91在线/欧洲| 国产传媒日韩| 少妇高潮九九九九| 日韩啪啪啪啪啪| 天天插夜夜操| 亚洲999综合| 强奸xx国产| 一区操逼| AV天堂国产| 大香蕉色欲AV| 亚射在线| www.高清无码诱惑一区.com | 日本天天干天天搞一区| 久久欧美按摩999| 久久一二区四| 国模不卡| 久久久久久69国产一区二区| 亚川综合视频| 免费看国产曰批40分钟怎么下载| 欧美Ⅴ性爱| 色九九久九九| 日本加勒比无码专区| 日日97| 日本一久是| 日韩欧美天堂| 中文字幕综合人妻| 国产第二页| 日本不卡三级网在线播放| 东北丰满熟女国产一区| 精品人妻一区二区三区四区不卡在| 欧美性爱网97| 青草精品视频日本久久久久网站在线| 麻豆精品久久久久久久| 蜜桃色色网站视频三区| 99热免费| 爱爱久久| www.91视频网| 国产亚洲深夜激情| 入口操逼网站| 800zy一区二区| 97色97好| 日日夜夜免费| 日本一区二区做爱的视频| 久久精品国产亚洲AV无码做| 五月婷婷无码| 啊啊啊啊好大好硬啊啊啊啊啊| 欧美中日韩XXXX| 久久久久久久久久久免费精品 | 97人人爱人人做人人乐| 91综合在线| 欧美色图20P| 欧洲特黄毛片免费看欧洲毛片| 91内射| 伊人欧美大香蕉视频| 国产91久久九九免费精品无码| 日本性爱不卡视频| 国产97综合| 97超碰人人模人人拍人人| 啪一啪免费视频| 超碰成人公开| 青青草天天亲夜夜操网| 色婷婷综合网站| 六月丁香啪啪啪| a网站免费观看| 亚洲影视综合网| av婷婷色网| 亚洲棕合电彰| 久久 久久国内精品亚洲| 啊啊啊啊啊啊啊在线| 天天躁狠狠躁av| 国产精品在线网站| 精品十八在线观看| 亚洲另类天堂| 国产精品麻豆视频网站| av天堂手机版追回| 国内精品999| 精品国产污一区二区三区| 欧美午夜色妇色鬼| 91视频女生| 国产精品操| 操逼精品视频| www.色操逼| 五月婷亚洲精品天堂| 欧美亚洲特P| 好吊色综合| 草b在线| 91亚洲精品青草| 伊人嫩草| 性在久久久久久| 国产精品ⅴ无码大片在线看.| 屌逼传媒| 亚洲九九九| 日韩精品在线放| 激情专区综合| 国产有码一区| 国内外激情在线| 日韩视频中文字幕| 黄色片大香蕉| 精品二999| 蜜桃久久一区二区| 成人免费福利在线观看| 内射日韩大臀美女| 高清视频一区| 婷婷中文网| 亚洲丝袜天堂| 狠日欧美| 99视频只有精品| 超碰天天久久79| 久久久天美| 中文字幕黄片在线| 2020中文字幕| 在线播放欧洲免费av| 日日干天天干夜夜爽| 色色色999| 老鸭窝黄色视频网站| 精品免费一区| 丁香五月影院| 久草电影网| 日韩熟女乱伦中出| 麻豆国产成人精品| se吧提供91精品国产91久久久久久 | 九九九九一区| 欧美日韩性爱无码| 欧美日韩婷婷中文| 国产精品嫩草影院午夜两性| 亚洲精品欧美专业| 国产一级舔足在线观看| 亚洲夜色在线| 精品亚洲成人免费在线| 夜夜高潮夜夜爽| 777超碰| 97综合在线| 欧美色图99| 国产黄色av大片网站| 日韩精品大香蕉伊人在线| 国产精品高潮呻吟av久久4虎| 久久99网站| 日韩无码服务区| 亚洲最新中文字幕免费| 国产乱青青草久久| 亚洲女毛多水多21P| 欧美变态激情网| 亚欧性爱无码| 香港久久久| 澳门特级毛片免费观看| com 首页 18岁 禁区 女优 免费 精选 同城| 3028国产精品| 水滴偷拍| 免费看污网站| 亚洲欧美日韩精品久久久一区二区| 五毛骚逼极品美女怕怕| 99热国产| 六月丁操逼| 91亚·色| 久久蜜色情在线视频xxx免费观看| 97免费视频在线| 91综合网| 无码区蜜乳| 日本欧美不卡| 成人免费福利在线观看| yy少妇精品久久| 日本成人在线不卡一区二区三区| 97国产中文| 亚洲国产一区二区三区在线| 天天干夜夜操网| 一区二区三区成人| 操B视频日韩无码| 国产精品小视频一区二区三区| 色女99一级片在线观看| 97干在线视频| 啊啊啊操死我| 亚洲有码视频二区| 狠肏骚人妻| 亚洲 图片 综合91| 亚洲性少妇| 亚州免费啪啪视频| 国产精品69久久久久久久| 日韩人妻无码专区| 男人女人18禁片免费看网站| 欧美日韩精品青青| 欧美亚州综合网图片| 色色热| 人妻娇喘 激情视频| 香蕉在线一区二区三区| 男女啪啪网站免费视频| 色天使AV天堂| 精品久久久av| 国产精品视频精品一二| 欧美成年人性爱视频免费观看| 日本高清加勒比| 黄色AV影视| 人人干黄色| 熟妇高潮二区三区| 四虎永久在线精品免费网址| 欧美一级久久久久久久大片动画| 日本不卡在线二区三区| 成人五月天色网| 偷窥自拍A片| 中文字幕免费看| 久久久久国产亚洲一区欧美色图日韩| 在线看片国产精品每日更新| 老熟女乱伦一区| 人妻喷水| 久久6热精品99视频| 亚洲人成网www| 日本熟妇人妻中出视频| 色路综合| 国产亚热在线久久| 超碰97男人| www.色五月| 日韩在线一区二区| 中文AV制服乱伦| 爱逼综合| 久久久91| 青娱乐91| 超碰久久.com| 99999久久精| 无码人妻毛片丰满熟妇精品区| 欧美成人亚洲精品| 亚洲熟妇丝袜在线观看| 91老熟女逼| 思思热免费视频观看| 欧美日韩啪啪电影| 91香蕉国产尤物视频| 久久精品28| 久久九九久精品国产尤物|国产精品爽黄69天堂A片潘金莲,国产亚洲精品第一综合 | 99999精品| 亚洲少妇综合| 99少妇| 亚洲久草AV色图| 啪啪啪男女亚洲中文字幕99| 欧美色图片欧美色图| 91丝袜美腿片| 午夜AV污污污| 色九九久九九| 精品999999| 午夜传煤十二区精品| 狠狠色五月亚洲91| 大香蕉中文| 欧美亚洲小说| 亚洲无码成人精品| 日韩精品人妻一| 国产高清在线观看欧美| 国模少妇一区二区三区| 五月激情综合网| 男人的天堂2019AV| 天天综合欧美综合| 97jingpin| 99热99re6国产在线播放| 天天操天天干美女网址导航| 久久三区四区| 欧美v亚洲v综合v国产v妖精| 韩国一级婬片A片无码天美| 6080YYY午夜理论片在线观看| 999亚洲国产视频| 亚洲精品精品一区二区| 99999精品视频| 欧美A√综合网| 人人操人人精品影片| 日韩天天综合| 97久久网| 激情五月天社区| 五月婷婷无码| 亚州综合AⅤ| 热G综合热G中文| 91亚洲影视| 黄色大片免费在线| 丰满人妻大屁一区二区| 爱干爱射网啊啊啊| 欧美亚洲清纯| 日韩三A大片在线观看| 女人高潮抽搐喷水视频网站| 欧美亚洲国产自久久| 国产丝袜一区二区三区| 亚洲天堂在线怕怕视频| 日韩午夜啪啪视频| 精产国品一区二三产品| av草草在线电影| 国产精品。| 亚洲精品亚洲人成人网| 亚州操操穴网| 日本一卡二区在线| se吧提供国产乱老熟视频胖女人| 九九性爱网| 日日干夜夜操视频h| 91高清日| 日韩欧美aⅴ综合网站发布| 五月天色综合| 精品人妻久久久久一区二区三区| 91在线超高颜值国产| 97色在线| 后入人妻无码| AV无码久久久精品| 搞中出视频在线观看| 97日韩| 久久久久亚洲Aⅴ无码| 中文字幕一区二区三区人妻少妇在线| 欧美高清91| 家庭乱伦网站国产| 欧美视频激情久久久久久| 久久九九久精品国产尤物|国产精品爽黄69天堂A片潘金莲,国产亚洲精品第一综合 | 九九热re99re6在线精品| 一级日本牲交大片好爽在线看| 欧美久久九九| 蜜臀视频网站| 亚洲熟妇自偷自拍另欧美| www.久久超碰| 久久久久国产一区二| 欧美 亚洲 综合 制服 另类| 亚洲精品国产日韩无码AV永久免| 亚洲天堂色图| 成人蜜乳小视频网站| 可以看的av| 揉揉揉夜夜| 开心激情婷婷| 国产白丝av| 精品一区二区三区蜜桃臀赵总| 少妇九九九九| 91碰碰| 久草老司机| 国产综合永久精品日韩鬼片| 亚洲第一男人天堂| 日韩女模中文造逼| 国产一区在线看| 五月丁香在线| 欧美性爱第一页久久| 宅男午夜在线视频| 极品综合| 成人开心网在线视频| 国产激情av女片自拍| 暴力av在线| 日日夜夜干| 欧美亚洲91| 激情亚洲天堂| 操逼不卡中文字幕| 久久亚洲日韩熟女精品| 91久久精品国产| 久久av无码| 亚洲高清在线se| 亚洲日韩精品在线播放| 97天堂| 亚洲大胆人体av| 国内精品伊人久久久久影院会| 五月天伊人网| 东北老女人的激情视频| 桃花色涩综合影院| 欧美手机在线综合| 五月天婷婷基地| 亚洲成人在线高清| 日韩无码服务区| 99热色这里只有精品| 另类图片五月天| 日本精品人妻少妇一区二区| 欧美一级做a爰片免费视频| 久久精品—区二区三区内射| 91精品国久久久久久无码| 亚洲国产精品成人无码久久久| 男人的天堂成人的社区| 天天做日日爱夜夜爽| 啊啊啊啊啊啊啊啊视频| 亚洲污污网站| 美女露胸露屁股| 亚洲色图欧美视频| 免费在线视频97| 台湾大香蕉99热| 久久99热这里只频精品6学生| av毛片aaaaa免费看| 欧美性五月| 伊人五月天| αⅴ天堂| 91色人妻| 亚洲人天堂| 超碰这里有精品| 乱理日韩中文| 日韩三级一区| 一区二区三区精品视频| 国产无码精品高清| TS人妖另类精品视频系列| 97se亚洲| 久久中文字幕女同性恋一区| 亚洲日韩少妇一道本视频| 九九热精品在线| 日本在线激情一区二区三区| av网页一区二区三区| 天天色图| 97色碰| 欧美日韩久久精品爱爱| 亚洲视频1区| 艹我哪美一区无码| 国产情侣自拍在线播放| 国产精品自在线发布| 久久伊人亚洲AV无码网站| 亚洲无码一区成人免费午夜| 91中文字幕在线观看| 物业黑人 AV一区| 97se综合网| 日韩中文字幕熟妇人妻| 久久草草欧美精品| 夜夜操2028| 国内一区二区三区| 欧美天天综合站| 熟女精品一区二区在线观看| 天天综合网网欲色| 91社操逼| 亚洲超碰97| 性爱1区| 欧美成人一区二区三区在线播放| 岛国激情视频软件| 在线综合色| 日本高清_区二区三区| 国模精品一区二区三区苹果色戒| 九九九久| 亚州黄站| 99精品人妻| 91n欧美| 97欧美视频| 婷婷色综合欧美日韩| 伊人骚琪琪亚洲天堂网站| 青草一区二区| 亚洲毛片基地专区| 黄色大片免费在线| 日韩AV无码中文一区二区| 日本精品无码三级网站| 黄片在线免费在线观看| av天堂精品久久| 久久91精品国产9丨久久分亭 | 国产 v乱码一区二| 爽 好舒服 无码刺激久久| 97chaopenrihan| 九九色热| 欧美性爱五月天| 国产后入清纯| 国产粉嫩出水在线播放| 在线日韩精品一区二区三区| 97超级久久强资源| 久久99九九九九6666免费观看软件| 丝袜AV一区二区三区| 欧美精品宗合| 伊人精品久久网站| 亚洲色婷婷| 欧美人妻精品| 九九九精品一区二区无码| 少妇贴图| 亚洲国产成人7777| 欧美视频在线视频免费va| 日本淫色网| 青青操视频在线| 亚洲无992tv| 无码 有码 国产18p| 欧美丰满少妇xx高潮| 少妇厨房愉情理伦片bd在线观看| 岛国艾薇凹凸视频天堂| 嗯啊啊啊轻点视频| 抽插一区二区视频| 日本潮催一卡操| 久操热线| 欧美变态激情网| 97爱综合| 啪啪综合网| 中文字幕十五区| 国产一级高清免费观看| 国产精品久久久久久 百度| 色嘟嘟人妻天堂网| 美女t无毒不卡不卡| 精品无码产区一区二| 免费a v| 婷婷伊人| 热久久无毒不卡| 精品国产一区二区三区四区在线看 | 中文字幕三四区| 99热久| 啊嗯嗯啊好大好爽| 日本黄色大片一级视频免费麻豆| 东京热激情视频一二三区| 99日免费视频中文字幕| 以及麻豆国产入口在线观看免费| 亚洲天堂人妻一区二区| 久久东京热成人| 日本操BAV| 丝袜美女诱惑 91 视频| 香伊人在线| 久久久9视频| 日日骚AV| 老女人爆菊| 91久久久久久久久18| 色播丁香| 亚洲色图A| 操操碰| 久久一二三四不卡 | 人妻熟女一区二区三区视频| 国产自偷自拍一区| 久久一二三四不卡| 懂色av色欲av蜜臀av| 国产精品熟妇一区二区三| 久久久蜜桃臀无码视频| 欧洲综合视频| 欧美真人抽搐一进一出gif| AV中文在线可看| 酒色综合网| 欧美图片偷拍| 91亚洲高清| 精品人妻一区二区免费蜜桃| 极品欧美一区二区三区| 老熟女熟妇| 国产精品视频自拍在线| 亚洲鸥美色图| 久久国内| 青草一区二区| 日韩精品三区四区| 色综合美国| 五月天春色激情网| 玖玖爱伊人玖玖爱| 国产熟女完整版中字| 99色色网| 操逼操网| 97天天摸天天爽| 亚洲第一视频 欧美风情 日韩| 欧亚揄拍偷拍精品视频| 男女啪啪啪18禁网站| 亚洲男人电影天堂| 噜噜噜噜天天狠狠| 超碰97护士| 免费人成在线观看网站品爱网| 蜜乳视频网站| 一色网男人的天堂| 五月天丁香欧洲日韩| 天天操女人| 久久一区二区加油站| 亚洲天堂男人| 狼人久草| 亚洲综合性网址| 日韩av乱伦| 污色区网站| 噜噜噜久久亚洲精品色情| 婷婷深爱五月| 日本羞羞的视频在线播放| 中文日本免费高清| 神马久久久久久久久久久久| 久9re热视频这里只有精品| 色噜噜狠狠色综合日日| 深夜激情 | 国产精品久久久999| 秋霞影音一区二区三区| 人人妻人人玩人人澡人人爽| 青青草字幕AV| 97资源超碰| 天天天天天天天天天天干美女| 中文久久久| 国产suv精品一区二六| 亚洲有码 视频一区| 福利在线黄片| 日本成人A片免费看| 992大香蕉| 超碰这里有精品| 久久日本熟女精品一区| 亚洲 日本 一 二 三| 欧美日韩操逼动图| 欧美精品23| 伊人久久大香线蕉亚洲五月天,青草青草欧美日本一区二区,欧美日产欧美日产国产 | 欧亚揄拍偷拍精品视频| 亚洲无套久久嗯嗯| 98人妻精品一区二区色欲| 任我爽在线视频免费观看| 黄色高清久久无码依人| 日韩偷拍色图| 亚欧性爱在线无码| 国产亚洲精品美女久久久m| 亚洲āv网址在线观看| 伦理日韩国产久久| 成人女人国产| 人人爱夜夜爱| 蜜桃久久久久久久| 六六久久日韩不卡| 亚洲色图久久成人| 国产91亚洲精品一区二区三区| 新精精品久久精品| 欧美精品不卡一二三四在线91| 亚洲一卡2卡3卡4卡乱码网站 | 人妻夜夜爽天天爽麻豆三区网站 | 亚洲AV成人在线| 中文字幕国产| 97热视频在线观看| AV老汉| 激情综合五| 国产一区二区三区影片| 日本操逼视频导航| 国产91丝袜在线播放蜜月| 大香蕉伊然在亚洲91| 大香蕉欧美国产日韩高潮| 国产情色第一第二页在线观看| 欧美亚洲自拍另类人妻| 久久精品高清无码一区| 欧美色图 人妻| 国产第11页| 草草影院最新网址| 免费伦费视频在线观看| 成人a级高清视频在线观看| 欧 美 自 拍 偷 拍| 亚洲 欧美 偷拍 唯美| 精品久久久不卡一区二区| 青青草吊丝| 久久久9品一区二区三区| 免费在线黄片视频| 免费视频a级毛片免费视频| 亚欧免费观看视频| 老女人老91妇女老热女| 色悠久久久av| 国产精品久久久亚洲一区| 天天日B夜夜干B时时操B| 日本污ww视频网站| 97九色人妻| 中文字幕,人妻,日韩| 人人操人人插 - 百度 - 百度| 成人97人人超碰人人| 天天操天天射天天日| 性开放中文AV高清无码免费看| 亚洲黄色网址视频| 精品国产肉丝袜在线拍国语| 婷婷亚洲综合| 久久老子无码午夜伦不卡| 色色婷婷五月| 岛国AV一区二区电影| 99精品高潮| 91亚洲人| 91婷婷| 成人aⅴ一区二区三区| 91综合熟女| 精品国产乱码| 激情婷婷| 97一本大道亚洲一区| 午夜欧美精品久久久| 亚洲欧美91| 国产一区二区三三视频| 91人人爽人人爽| 欧美啪啪啪91| 欧美的性爱网站免费| 热天堂一区二区| 超碰天天去日穴| 在线中文字幕极品av| 97免费视频网| 97操| 97操操| 麻豆性爱视频在线播放| 97频视在线| 91人妻丝袜无码| 97色碰| 亚州,欧美在线| 一区二区三区免费视频入口| 懂色av一区二区三区天美传媒| 欧美黄片免费在线观看视频| 在线观看AV不卡| 啊啊啊好疼| AV天堂国产| 精品人人| 午夜欧美精品久久久| 亚州操逼图| 精品国产72| 青娱乐淫乱1314| 伊人婷婷五月天| 国产熟女完整版中字| 久99久视频精选| 人妻丰满熟妇一区二区三| 加勒比日本在线| 亚洲一区二区三区中文字幕| 亚洲情色无码一区二区三区| 亚洲五月婷| 性在久久久久久| 在线观看黄色电话| 秋霞午夜成人福利片片| 黄色十八禁| 中国国国产一级特黄毛片| 欧成人精品H无码| 日本久久超碰| 青娱乐妇女性生活| 精品久9| 日韩欧视频| 操东北女人| 久久九色| 欧美黄色片在线播放| 第四色奇米影视777| 欧美在线天堂| 国产三级中文字幕粉嫩| 色月天AV导航| 欧美性第1页| 老女人日韩美91| 97超碰久久| 99国产天美| 亚洲成人在线高清| 性欧美体内射精| 成全动漫视频观看免费下载| 丝袜制服字幕在线| 97精品网| 伊人久久大香线综合无码| 日熟女| 五月丁香啪啪| 蜜臀在线视频| 国产乱弄免费在线视频。| 久久国产熟女影院| 伊人青青草久久| 国产精品久久久无码AV网站| 91色s| 深田咏美亚洲精品福利社| 久久大香蕉97| 91在线免费观看处女| 久久久久久久久久久免费精品| 欧美老妇综合网| 日本精品无码三级网站| www.人人摸在线视频| 色综合网1| 狠狠爱综合网| 在线观看午夜婷婷久久久久清性观看| 91小视频| 91综合熟女| 97久久精品不卡| 国产丝袜啪啪| 青青草字幕AV| 五月丁香啪啪啪| 久久精品日韩| 欧亚性爱视频免费看| 为用户提供免费看黄网址在线观看| JIZZJIZZ亚洲女人被躁| 欧美在线播放| 色网综合网| 乱老熟女一区二区三区| 少妇内射www在线观看视频| 欧美日韩国产色五月综合在线| 亚洲色欲天天人妻无码系列专区| 欧美九一精品久久久熟妇| 99亚洲天堂| 台湾一区国产高清在线| 一级乱伦网站| 思思热在线cao| 五月丁香在线| 美女91色黄18| 伊人影院日本| 亚洲二区精品在线观看| 国内精品久久国产,www香蕉久久五月丁香,亚洲欧美日韩精品永久在线,日本精品一 | 国产AV天美传媒一区二区三区| 亚洲操操操| 91露脸熟女专区| 亚洲同性aV综合| 日本一久是| 97超碰无码网| 噜噜噜无码AV一级一级久久影院| 波多野结衣AV无码一区| 男人的天堂com| 国产九区| 人人爱夜夜爱| 日本久久久久久久久| 日韩中文字幕视频在线观看| 日本羞羞的视频在线播放| 天堂性色| 丝袜美腿91| 任你干在线视频| 啊啊啊好湿久久| 这里只有精品久久| 一区在线国产播放| 3PAV乱伦视频| 亚欧美色| 欧美宗合色| 亚洲图片 欧美电影| 日韩电影天堂视频二区三区| 极品白嫩福利在线| 亚洲熟妇极品| 大香樵伊人网| 怡红院一区二区熟女人妻| 亚洲最新av无码成人精品区 | 国产人伦精品一区二区三区| 久操精品网| 日韩不卡a级视频专区| 日本精品无码三级网站| 黄色大片免费在线| 久久成年片色大黄全免费网站| 色九久| 天天爱天天操| www男人天堂| 欧美97网| 欧美天天综合网版| 91一区二匹| 色男人色天堂东京热| 久久香蕉综合一本到3atv| 久久av一级av少妇av高潮| 在线观看中文字幕| 日本506070| 中文字幕一区二区无码成人| 欧美日韩精品久久久久东北老熟妇| 亚洲天天精品| 熟妇无码视频三区| 久久亚洲一区女同性恋中文字幕 | 日本韩国国产精品一区| 青青青草原| 婷婷性网| 午夜精品久久久久久久久久久久久| rion磁力链接| 亚洲97超碰| 操逼无码操逼| 亚洲一区二区三区播放在线| 26uuu国产日韩综合在线观看| 中文字幕日韩电影人妻| 天天看天天在线精品| 日本在线播放不卡一区| av国产无码| 2020中文字幕| 人人色97| 久久偷拍人| 尤物视频网 刘玥| 欧美色爱综合| 中文字幕在线观| 日韩熟女操逼| 亚洲精品第一| 午夜福利免费精品视频| 国产人妻天天干精品| 久久精品小视频| 久久超碰、| 亚洲综合色在线| 日本精品一区二区不卡| 亚洲无码国产探花在线观看| 亚洲暴力强奸AV| 九九热AV| 97香蕉人人乳| 亚洲女人毛茸茸91| 亚洲在线| 精品午夜福利国产一区二区在线观看| 在线国产一区二区av| 日韩乱码Av| 影音先锋一区二区在线资源| 欧美第五页| 偷拍综合网| 日韩激情啪啪| 九九热在线视频| 日产中文字幕2020| 欧美综合天堂| 伊人久久综合影院精品久久久 | 欧美精品双插| 欧美色图20P| 家庭乱伦国产| 国产无马av| 日本精品免费一区二区三区四区| 熟妇激情| 中文字幕一区二区三区四区在线视频| 日韩黄色一区二区三区| baisiav| 亚洲欧美校园| 免费日韩黄片| 色哟哟国产精品免费网址| 美腿丝袜偷拍亚洲欧美| 花花AV导航| 久精品无码av一区二免费国产在线观看| 欧美性爱97超碰 | 亚洲无码免费看| 久久色一区| 激情欧美97| 青椒国产97在线熟女| 区一在线观看| 91国产丝袜白虎| 亚洲日韩美女中文字幕乱| 欧美日韩免费专区在线| 日韩日韩日韩-国产乱码精品一区二区| 乱伦一二三区| 熟女人妻久久中文字幕一二区| 久久久一区二区| 青草伊人网| 免费强奸av| 夜夜操一区二区| 久操91视频| 91丨国产丨白浆| 天欧美在线| 黄色一区二区秘书性感| aaa淫乱视频| 中国人高清www色视频免费| 99精彩视频| 欧美综色欧| 亚洲情色中文字幕一区| 亚洲精品国产av天美传媒| 神马久久久久久| 欧美三级不卡| 欧美97爱| 激情综合五月| 人爽不卡视频| 99欧美| 精品传媒在线一区| www.色婷婷| 男人的天堂com| 五月丁香网站| 欧美激情久| 在线国产福利网址导航| 亚洲熟女一区| 人妻81p| 在线五区| 国产激情视频在线观看| 日本高清视频在线观看黄已三辽| 亚洲色图殴美色图激情乱伦| 啊啊啊久久久视频| 青草av在线| 97天天操| 又黄又爽在线观看视频 | 99.色网| 色波多| 国产美女口爆吞精| 欧美日韩大黄片| 欧美91丝袜| 免费综合亚洲中文| 91无码人妻精品一区二区三区蜜桃| 成片免费观看视频大全| 亚洲欧美色图片| 嗯啊啊啊轻点视频 | 欧美99| 一起草在线视频| 欧美日本天堂| 爽 好舒服 无码刺激久久| 加勒比aⅴ| 熟女中出视频| 东京热男人的天堂精品| 91综合无码| 鸥美插入视频| 亚洲国产精品无码AV在线| 国产美女91| 91精品人妻一区二区三区蜜桃臀| 伊人影院日本| 婷婷久草| 人妻AV 中文字幕的| 亚洲欧美国产va在线播放频| 99蜜桃臀久久久欧美精品网站| 一级成人性爱| 久久久久久久久9| 日韩一999精品| 日本一级婬片试看三分钟| 国内毛片四区| 日韩三级在线观看mp4| 蜜桃视频成a人v在线| 91制服丝袜| 一区| 色色婷婷丁香| 99这里只有精品国产| 色臀aV| 偷拍 精品另类 凸凹了四区| 奇米四色影视777久久久| 99色热| 欧美色图 人妻| 狼天天狼天天大香蕉| 丁香六月激情| 97色碰| 97精品全部| 日韩精品人妻中文字幕久久久| 日本一级黄色电影| 午夜超爽| 97视频在线看| 久久一二三四五六七八九区| 国产60区。| 狠狠干综合| 日韩欧美俄罗斯A片| 熟女乱3伦999| 中文字幕乱妇免费视频| 熟妇人妻一区二区三在线| 欧美一区91大爱| 日韩精品黄片免费观看| 麻豆国产97在线| 东京热综合久久一区二区 | 中文一区在线视频| 少妇厨房愉情理伦片bd在线观看 | 免费观看的av| 免费亚洲黄色视频在线观看| 91精品国产91综合久久蜜臀| 亚洲欧洲日韩中文字幕一区| 韩国三级三级BD在线| 熟女丝袜视频| 91久久久久免| 91精品伊人久久久大香线蕉91| AV一区观看| 玖玖爱在线视频免费观看| 欧美色综合网| 国产一区二区在线看| 欧美精品,四区。五区| 2019天天操天天爽天天拍| 九九久久久久久爱| 天天综合网~69| 色五月综合网| 日韩人妻无码专区| 欧美黄色片AAAAA| 亚洲1区2区三区高清中文字幕| 人人操我人人干| 欧美区亚洲区偷拍区 | xxx亚洲午夜天堂| 欧美在线官网| 人妻嗯啊啊在线播放| 99色热| 九九热精品| 日本韩欧美在线播放a| 免费黄色A片| 黄片在线免费在线观看| 在线看片国产精品每日更新| 国产精品久久久久亚洲av| 久操网无码在线| 欧美A片中文字幕| 精品国产一区二区三区四区在线看| 操人人| 91精品久久久| 午夜爽爽爽在线观看永久入口姬片| 亚洲情色中文字幕一区| 国产性爱乱伦AV|