免费国产精品自在自线-91精品国产色综合久久久浪潮-99热久久免费频精品-国产精品国模在线观看-久久亚洲国产精品成人?V秋霞-久久国产一级A片免费播放-亚洲国产欧洲综合97久久-久久国产白嫩美女呻吟高潮

ARTICLE DETAIL

資訊詳情

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

Formula One 9.0控件實(shí)戰(zhàn):從注冊(cè)到C++讀寫(xiě)XLS的避坑指南

Formula One 9.0控件實(shí)戰(zhàn):從注冊(cè)到C++讀寫(xiě)XLS的避坑指南 簡(jiǎn)介Formula One 9.0是一套基于Java開(kāi)發(fā)的VTS編輯工具定位為免費(fèi)安裝版軟件提供模板化編輯與內(nèi)容定制能力適合需要周期性制作或調(diào)整VTS內(nèi)容的個(gè)人用戶與小型團(tuán)隊(duì)。壓縮包共316個(gè)文件整體僅6.76MB主要包含HTML說(shuō)明文檔、Java類(lèi)文件與運(yùn)行庫(kù)、界面組件庫(kù)、XML解析組件及配置文件等各類(lèi)型分工明確可支持軟件安裝、界面交互、參數(shù)調(diào)整與XML數(shù)據(jù)轉(zhuǎn)換。包內(nèi)附帶的HTML與readme文檔是重要操作指引便于用戶按需查閱。目前已有3621人學(xué)習(xí)下載反映出該工具在目標(biāo)人群中有一定實(shí)用價(jià)值。對(duì)希望低成本獲取完整編輯方案的用戶而言這套免費(fèi)包省去了授權(quán)費(fèi)用同時(shí)自帶卸載程序安裝管理便捷結(jié)合XML處理能力與模板機(jī)制能有效幫助完成VTS相關(guān)內(nèi)容的創(chuàng)建與維護(hù)。1. 為什么「formula one.zip」值得下載一張能嵌入程序里的 Excel好多維護(hù)老系統(tǒng)的朋友第一次看到 formula one.zip 這名字都會(huì)愣一下這跟賽車(chē)有什么關(guān)系其實(shí)它指的是 Formula One 9.0 控件一個(gè) ActiveX 表格組件也就是很多人說(shuō)的 formula one 控件。它活在 MFC、VB、Delphi 這類(lèi)桌面程序里負(fù)責(zé)把 Excel 的讀寫(xiě)、公式計(jì)算和打印能力搬進(jìn)自己的界面很多遺留系統(tǒng)的報(bào)表模塊就靠它在跑。如果你是要接手這類(lèi)老代碼或者需要在目標(biāo)機(jī)器不裝 Office 的情況下快速生成 xls 文件這份包通常是恢復(fù)開(kāi)發(fā)環(huán)境的捷徑——里面一般有控件本體、注冊(cè)說(shuō)明和示例工程。下文按我平時(shí)接手新環(huán)境的順序從選型、注冊(cè)、代碼調(diào)用到高頻事故把怎么用和坑在哪里一次說(shuō)清楚。2. 選型判斷Formula One 9.0 比 Excel 自動(dòng)化好在哪里2.1 先認(rèn)清它是誰(shuí)ActiveX 表格控件到底做了什么Formula One 9.0 本質(zhì)是個(gè)進(jìn)程內(nèi) COM 組件常見(jiàn)形態(tài)就是單文件 OCX比如包里的 F1Book.ocx。它模擬的是 Excel 97-2003 時(shí)代表格的核心能力單元格讀寫(xiě)、內(nèi)置公式引擎、區(qū)域選擇、打印預(yù)覽以及 .xls 文件的導(dǎo)入導(dǎo)出。開(kāi)發(fā)者在 IDE 里把它拖到對(duì)話框上程序一啟動(dòng)界面上就有一張完整表格不需要自己畫(huà)網(wǎng)格。理解它的工作方式有個(gè)關(guān)鍵點(diǎn)整個(gè)表格控件運(yùn)行在程序自己的進(jìn)程里不依賴(lài)外部 Office 進(jìn)程。你要顯示的數(shù)據(jù)通過(guò) COM 接口傳給控件內(nèi)部的表格內(nèi)核用戶看到的是控件渲染出來(lái)的表格改完以后你可以再把內(nèi)容讀回來(lái)或者直接存成 .xls。這里要糾正一個(gè)容易誤會(huì)的認(rèn)知Formula One 9.0 不是 Excel也不會(huì)偷偷調(diào)用 Excel 的 API。它是獨(dú)立實(shí)現(xiàn)的一套表格引擎和 Excel 文件格式兼容但不等于塞了一個(gè) Office 進(jìn)去。對(duì)部署來(lái)說(shuō)是好事目標(biāo)機(jī)器沒(méi)有 Office 也能運(yùn)行但代價(jià)是個(gè)別高版本 Excel 特有格式比如新版的 .xlsx 擴(kuò)展樣式它并不完全認(rèn)識(shí)。所以很多老項(xiàng)目里它只管讀寫(xiě) .xls邏輯代碼也從此穩(wěn)定跑了很多年。從結(jié)構(gòu)上看控件內(nèi)部是一套完整的表格對(duì)象模型工作簿、工作表、單元格、區(qū)域、公式、格式。你通過(guò) COM 接口操作這些對(duì)象跟操作 Excel 對(duì)象模型的思路很像但輕量得多??梢酝ㄟ^(guò)接口設(shè)置列寬、行高、合并單元格、邊框、字體背景色可以有多個(gè)工作表也可以對(duì)命名區(qū)域做操作。這套對(duì)象模型和 .xls 文件格式并不是一一對(duì)應(yīng)的有些文件里包含的特性如果控件不支持打開(kāi)時(shí)會(huì)被舍棄或報(bào)兼容問(wèn)題所以老項(xiàng)目往往強(qiáng)調(diào)版本匹配。2.2 和 Excel 自動(dòng)化、MFC 網(wǎng)格控件比9.0 值在哪里接手老系統(tǒng)時(shí)我常被問(wèn)一個(gè)問(wèn)題報(bào)表模塊為什么不直接用 MFC Grid 或者調(diào)用 Excel 自動(dòng)化我先說(shuō)結(jié)論對(duì)于“不裝 Office、又要保存 .xls 文件”的場(chǎng)景Formula One 9.0 是很務(wù)實(shí)的選擇。下面這張對(duì)比表是我實(shí)際評(píng)估時(shí)用的參照。方案文件格式支持公式引擎部署體積服務(wù)端穩(wěn)定性Formula One 9.0.xls 讀寫(xiě)內(nèi)置數(shù)百個(gè)函數(shù)一個(gè) OCX 依賴(lài)庫(kù)進(jìn)程內(nèi)無(wú)外部進(jìn)程Excel COM 自動(dòng)化全面完整必須裝 Office服務(wù)端易掛死需保護(hù)MFC 網(wǎng)格控件需自寫(xiě)導(dǎo)入導(dǎo)出無(wú)小穩(wěn)定但開(kāi)發(fā)量大Excel 自動(dòng)化的問(wèn)題是進(jìn)程托管。程序里通過(guò) COM 啟動(dòng) Excel.ApplicationExcel 在獨(dú)立進(jìn)程里工作一旦某個(gè)打開(kāi)文檔彈了個(gè)對(duì)話框沒(méi)人點(diǎn)整個(gè)調(diào)用就掛住了在無(wú)人值守的服務(wù)器上尤其痛苦還得處理 Excel 進(jìn)程殘留。Formula One 9.0 全部工作在程序進(jìn)程內(nèi)不需要啟動(dòng) Office也不需要考慮版本升級(jí)帶來(lái)的接口漂移這是它能在遺留系統(tǒng)里扎根的根本原因。MFC 網(wǎng)格控件的對(duì)比更直接畫(huà)表格、處理拖選、粘貼這些交互不難難的是公式引擎和文件格式。做一個(gè)基本能用的 .xls 寫(xiě)盤(pán)流程加上字符集轉(zhuǎn)換、合并單元格、列寬設(shè)置、公式解析工作量會(huì)迅速失控。而 Formula One 9.0 把這一層都做完了調(diào)用成本是幾個(gè) COM 接口文檔又是現(xiàn)成的。現(xiàn)實(shí)中的遷移成本也是個(gè)決定項(xiàng)。把一間跑了十年的報(bào)表模塊從 Formula One 遷到 Excel COM不只是替換接口封裝還要處理模板兼容、公式差異、打印布局這些細(xì)節(jié)典型工作量以周計(jì)。而繼續(xù)沿用 9.0新人都能通過(guò)包里的示例工程快速上手性價(jià)比明顯更高。2.3 邊界什么場(chǎng)景千萬(wàn)別選它適合不意味著萬(wàn)能。我一般把下面幾種場(chǎng)景視為反向指標(biāo)提醒不要硬用。第一種前端要復(fù)雜的 Excel 圖表、數(shù)據(jù)透視表、迷你圖這超出了它的定位。控件的強(qiáng)項(xiàng)是數(shù)據(jù)和公式不是可視化分析硬做出來(lái)效果和兼容性都別扭。第二種程序運(yùn)行在 64 位原生進(jìn)程中并且不打算支持 32 位兼容——這份控件是 32 位組件接不進(jìn)來(lái)。第三種業(yè)務(wù)需要和 Excel 實(shí)時(shí)雙向聯(lián)動(dòng)例如模板由用戶在 Office 里不停改樣式程序要立刻反應(yīng)它對(duì) .xls 的支持是按“文件交換”設(shè)計(jì)的不是按“和 Office 同步編輯”設(shè)計(jì)的。第四種團(tuán)隊(duì)完全沒(méi)有桌面 C/VB 基礎(chǔ)也不愿意維護(hù) COM 調(diào)用代碼那選型不如換成新出的跨平臺(tái)表格庫(kù)直接重寫(xiě)還有救。劃清邊界后再?zèng)Q定用不用能少走很多彎路。下面進(jìn)入部署環(huán)節(jié)這也是新手最容易卡住的第一關(guān)。3. 解壓與注冊(cè)讓控件在系統(tǒng)里立住的三步3.1 先認(rèn)清包里都有什么拿到 formula one.zip第一步不是急著雙擊而是先列一下內(nèi)容。常見(jiàn)的打包結(jié)構(gòu)大概是這樣的文件/目錄作用F1Book.ocx控件本體ActiveX 組件注冊(cè)后使用注冊(cè)說(shuō)明.txt / install.bat部署腳本或步驟說(shuō)明F1Book.chm開(kāi)發(fā)幫助文檔Samples\不同語(yǔ)言的示例工程如果只想要運(yùn)行環(huán)境控件本體就夠了要做二次開(kāi)發(fā)幫助文檔和示例工程才是后面的主力。我習(xí)慣先把 chm 打開(kāi)檢索“SSGetText”和“SaveFile”兩個(gè)詞基本能快速判斷這個(gè)版本的方法命名風(fēng)格也確認(rèn)是否帶了類(lèi)型庫(kù)信息。有些包里還有 .reg 文件內(nèi)容是把控件的 GUID 和 ProgID 寫(xiě)進(jìn)注冊(cè)表。這個(gè)先查看文本內(nèi)容不要直接合并因?yàn)楹藢?duì)位寬更有用。3.2 32 位與 64 位注冊(cè)時(shí)先選對(duì) regsvr32這兒是最典型的一個(gè)坑。F1Book.ocx 是 32 位組件在 64 位機(jī)器上注冊(cè)時(shí)默認(rèn)調(diào)用的 regsvr32.exe 可能不對(duì)。系統(tǒng)里有兩個(gè)人C:\Windows\System32\regsvr32.exe 是 64 位版C:\Windows\SysWOW64\regsvr32.exe 是 32 位版。注冊(cè) 32 位 OCX要用后者。# 以管理員身份打開(kāi)命令行先切到解壓目錄 cd C:\formula_one # 注冊(cè) 32 位控件路徑里寫(xiě)明 SysWOW64 下的 32 位 regsvr32 C:\Windows\SysWOW64\regsvr32.exe /s F1Book.ocx # 正常情況會(huì)靜默成功想看到反饋去掉 /s 參數(shù) C:\Windows\SysWOW64\regsvr32.exe F1Book.ocx命令邏輯說(shuō)明/s 表示靜默模式注冊(cè)成功不彈對(duì)話框去掉后如果看到“DllRegisterServer 成功”的提示說(shuō)明注冊(cè)表寫(xiě)入正常。選擇 SysWOW64 下 regsvr32 的原因是32 位 OCX 的注冊(cè)邏輯依賴(lài) 32 位運(yùn)行時(shí)由 64 位 regsvr32 加載會(huì)進(jìn)入重定向或加載錯(cuò)誤輕則失敗重則控件在 IDE 里顯示不出來(lái)。注意很多包自帶的 install.bat 往往只寫(xiě)了“regsvr32 xxx.ocx”沒(méi)固定位寬也沒(méi)帶完整路徑。我一般不用現(xiàn)成腳本而是像上面這樣自己寫(xiě)一行把路徑和位寬固定下來(lái)排查時(shí)也很清楚。如果注冊(cè)時(shí)提示“模塊已加載但找不到入口點(diǎn)”八成就是 regsvr32 版本選錯(cuò)了。另一種可能是控件依賴(lài)的 VC 運(yùn)行庫(kù)沒(méi)裝——老版本控件可能依賴(lài)舊 msvcrt 系列通常補(bǔ)裝對(duì)應(yīng)運(yùn)行庫(kù)即可這個(gè)放到第 5 章再展開(kāi)。注冊(cè)后確認(rèn)控件出現(xiàn)在“選擇控件”列表里。以 Delphi 或 Visual Studio 為例工具箱里右鍵選“Components/Choose Items”在 COM 組件頁(yè)搜索 F1Book 或 Formula One勾選后控件圖標(biāo)出現(xiàn)在工具箱這一步通過(guò)注冊(cè)這關(guān)才算真正過(guò)了。3.3 工具箱里看不到控件時(shí)的檢查路徑從注冊(cè)成功到設(shè)計(jì)期能用中間還會(huì)隔著一層看不到的問(wèn)題。我遇到過(guò)注冊(cè)命令返回成功但工具箱里就是搜不到。這時(shí)按下面順序排查。第一確認(rèn)你用的 IDE 是 32 位還是 64 位。現(xiàn)代 Visual Studio 的 IDE 本身是 32 位進(jìn)程能識(shí)別 32 位控件但如果環(huán)境是 64 位的集成工具可能只列 64 位組件控件就不在列表里。第二檢查控件文件是否被安全軟件隔離。OCX 是老軟件某些防護(hù)策略會(huì)把它當(dāng)可疑文件直接隔離注冊(cè)表里有殘留但文件沒(méi)了。第三重跑一次注冊(cè)命令并保留輸出觀察 DllRegisterServer 返回是否真的成功。第四如果是 .NET 工程檢查項(xiàng)目平臺(tái)目標(biāo)是否設(shè)為 x86AnyCPU 在 64 位機(jī)器上會(huì)默認(rèn)按 64 位運(yùn)行32 位控件自然加載失敗。排查完如果還不行有一個(gè)驗(yàn)證注冊(cè)表的小技巧打開(kāi)運(yùn)行框輸入 regedit找到 HKCR\CLSID 或 HKCU\Software\Classes\CLSID搜索控件名或 ProgID能看到對(duì)應(yīng)項(xiàng)就說(shuō)明至少注冊(cè)過(guò)。注意 32 位控件注冊(cè)的鍵在 WoW64 重定向路徑下界面里看到的 HKCR 已經(jīng)是合并視圖所以看不到也別急著下結(jié)論按上面四步走更可靠。控件順利進(jìn)入工具箱后真正的工作才剛開(kāi)始。下一章用一個(gè)最小 C 示例把核心調(diào)用鏈路串起來(lái)。4. 代碼接入C 里讀寫(xiě) XLS 的最小可運(yùn)行示例4.1 在工程里引入類(lèi)型庫(kù)在 VC6 時(shí)代的 MFC 工程里最快的方式是在對(duì)話框編輯器里右鍵插入 ActiveX 控件IDE 自動(dòng)生成 CWnd 派生包裝類(lèi)然后你只需要在對(duì)話框類(lèi)里聲明一個(gè)成員變量DoDataExchange 里建立關(guān)聯(lián)之后就能直接調(diào)用控件的成員函數(shù)。這種方式最穩(wěn)妥因?yàn)榘b類(lèi)里的調(diào)用邏輯是 IDE 根據(jù)類(lèi)型庫(kù)生成的不容易錯(cuò)。另一種方式是 #import 指令它讀取 OCX 內(nèi)嵌的類(lèi)型庫(kù)自動(dòng)生成智能指針和接口定義。這種方式適合沒(méi)有對(duì)話框界面、想在后臺(tái)直接操作表格的場(chǎng)景比如一個(gè)簡(jiǎn)單的報(bào)表生成工具。// 放在預(yù)編譯頭之后指定絕對(duì)路徑 // named_guids 讓編譯器導(dǎo)出 CLSID_F1Book 等常量 // no_namespace 讓接口定義進(jìn)入全局命名空間簡(jiǎn)化調(diào)用 #import C:\\formula_one\\F1Book.ocx named_guids, no_namespace邏輯說(shuō)明編譯時(shí)編譯器會(huì)讀取 F1Book.ocx 里的類(lèi)型庫(kù)信息生成一個(gè) .tlh/.tli 頭文件里面包含接口定義、智能指針類(lèi)和 CLSID 常量。運(yùn)行時(shí)通過(guò)這個(gè)信息創(chuàng)建控件實(shí)例。如果編譯報(bào)“無(wú)法打開(kāi)類(lèi)型庫(kù)”先檢查路徑里的反斜杠是不是被當(dāng)成了轉(zhuǎn)義符再確認(rèn)這個(gè) OCX 確實(shí)帶類(lèi)型庫(kù)。實(shí)際工程里我更喜歡“IDE 生成包裝類(lèi) #import 偶爾用來(lái)寫(xiě)命令行工具”的組合。包裝類(lèi)代碼直觀新人接項(xiàng)目時(shí)讀起來(lái)負(fù)擔(dān)小#import 適合快速驗(yàn)證某個(gè)接口行為寫(xiě)一次性腳本很方便但跨編譯器版本時(shí)生成結(jié)果可能有差異。4.2 打開(kāi)工作簿并讀寫(xiě)單元格用 IDE 生成的包裝類(lèi)來(lái)演示最清晰。假設(shè)包裝類(lèi)類(lèi)型是 CF1Book成員變量叫 m_book下面的代碼完成打開(kāi)文件、寫(xiě)入數(shù)據(jù)、讀取數(shù)據(jù)三個(gè)基本動(dòng)作。// 打開(kāi)一個(gè)已有的 .xls 文件 BOOL bOk m_book.OpenFile(LC:\\data\\demo.xls, FALSE, FALSE); if (!bOk) { AfxMessageBox(L打開(kāi)工作簿失敗檢查文件或格式兼容性); return; } // B2 寫(xiě)入一個(gè)數(shù)字 88.5 m_book.SSSetNumber(2, 2, 88.5); // A1 寫(xiě)入文本 m_book.SSSetText(1, 1, L訂單號(hào)); // 讀取 A1 文本 CString sVal m_book.SSGetText(1, 1);參數(shù)說(shuō)明OpenFile 的第一個(gè)參數(shù)是文件路徑第二個(gè)參數(shù)表示是否更新外部鏈接FALSE 表示不更新第三個(gè)參數(shù)是是否只讀FALSE 表示可寫(xiě)。SSSetNumber 的三個(gè)參數(shù)分別是行、列、數(shù)值SSSetText 的第一個(gè)參數(shù)是文本行號(hào)和列號(hào)都從 1 開(kāi)始不是從 0 開(kāi)始這是新手最容易寫(xiě)錯(cuò)的地方。注意SS 系列接口的行列號(hào)都從 1 開(kāi)始。我第一次接這類(lèi)控件時(shí)按習(xí)慣從 0 寫(xiě)結(jié)果所有數(shù)據(jù)都偏了一格排查了半天。還有一件事SSGetText 返回的是單元格的顯示內(nèi)容受單元格格式影響。比如 88.5 如果被格式化成兩位小數(shù)讀出來(lái)就是“88.50”。想拿原始數(shù)值用 SSGetNumber想拿用戶看到的字符串用 SSGetText。兩者用途不同取值時(shí)先想清楚要哪個(gè)。4.3 公式計(jì)算與保存導(dǎo)出公式部分最值得養(yǎng)成的習(xí)慣是寫(xiě)完公式后顯式調(diào)用一次 Recalc把計(jì)算落定。有些版本默認(rèn)自動(dòng)重算開(kāi)啟不調(diào)用也沒(méi)事但如果讀入的 .xls 里手動(dòng)關(guān)閉了迭代計(jì)算或者文件本身是第三方程序生成的后續(xù)取值就可能是公式串而不是結(jié)果。顯式調(diào)用讓行為可預(yù)期。// D1 寫(xiě)入求和公式引用 B2:B10 區(qū)域 m_book.SSSetFormula(1, 4, LSUM(B2:B10)); // 手動(dòng)重算參數(shù) FALSE 表示同步等待計(jì)算完成 m_book.Recalc(FALSE); // 讀取 D1 的計(jì)算結(jié)果顯示文本例如 88.5 CString sResult m_book.SSGetText(1, 4); // 保存到新文件 // 第二個(gè)參數(shù) 0 表示由擴(kuò)展名推斷格式1 表示分隔文本 m_book.SaveFile(LC:\\data\\result.xls, 0, FALSE);參數(shù)說(shuō)明SSSetFormula 的第三參數(shù)是公式字符串必須以等號(hào)開(kāi)頭。Recalc 的布爾參數(shù)表示“是否后臺(tái)計(jì)算”FALSE 是同步等待適合接下來(lái)立即取值的場(chǎng)景。SaveFile 的第二個(gè)參數(shù)是文件類(lèi)型標(biāo)識(shí)0 通常對(duì)應(yīng) .xls1 對(duì)應(yīng)制表符分隔文本不同版本枚舉值略有差別第三個(gè)參數(shù)是“覆蓋前是否提示”FALSE 表示直接覆蓋。大批量寫(xiě)入時(shí)還有個(gè)性能建議盡量避免逐格調(diào)用 SSSetText/SSSetNumber循環(huán)次數(shù)一多性能很難看。常見(jiàn)做法是先把數(shù)據(jù)組織成二維數(shù)組找控件提供的區(qū)域?qū)懭虢涌谝淮翁峤换蛘吲R時(shí)關(guān)閉屏幕刷新寫(xiě)完再統(tǒng)一打開(kāi)。這兩種方式都能顯著減少調(diào)用開(kāi)銷(xiāo)具體接口名在類(lèi)型庫(kù)文檔里檢索“Block”或“Array”相關(guān)方法就能找到。文件保存完成后確認(rèn)一下 COM 資源釋放。使用智能指針時(shí)把對(duì)象置空或離開(kāi)作用域即可如果是對(duì)話框包裝類(lèi)在窗口銷(xiāo)毀時(shí)確保沒(méi)有掛著的公式引用。關(guān)閉前再觸發(fā)一次 Recalc 也能避免殘留的未計(jì)算狀態(tài)被寫(xiě)進(jìn)文件。到這里一個(gè)最小可用鏈路已經(jīng)通了注冊(cè)控件、創(chuàng)建實(shí)例、打開(kāi)文件、讀寫(xiě)單元格、寫(xiě)公式、重算、保存。剩下的工作基本是往這個(gè)模板里填業(yè)務(wù)。代碼層面相對(duì)可控真正讓老工程師頭疼的往往是環(huán)境問(wèn)題——下面這一章我把高頻事故集中列出來(lái)。5. 避坑清單注冊(cè)、亂碼、公式失效的五類(lèi)高頻事故這章不按章節(jié)講而是直接列事故。每一條我都標(biāo)了現(xiàn)象、原因和解決方便你對(duì)照排查。5.1 regsvr32 報(bào)“模塊已加載但找不到入口點(diǎn)”現(xiàn)象在 64 位 Windows 上注冊(cè) F1Book.ocx命令提示符返回“模塊已加載但找不到入口點(diǎn) DllRegisterServer”控件無(wú)法使用。原因最常見(jiàn)是用 64 位 regsvr32.exe 去處理 32 位 OCX。64 位進(jìn)程加載 32 位 DLL 時(shí)入口點(diǎn)解析失敗自然會(huì)報(bào)這個(gè)錯(cuò)。另一個(gè)常見(jiàn)原因是目標(biāo)機(jī)器缺 VC 運(yùn)行庫(kù)老 OCX 依賴(lài)舊版運(yùn)行時(shí)入口點(diǎn)函數(shù)根本進(jìn)不到。解決按第 3 章的做法改用 C:\Windows\SysWOW64\regsvr32.exe 重新注冊(cè)。若仍失敗用依賴(lài)檢查工具查一下 OCX 依賴(lài)的 DLL 哪些缺失補(bǔ)裝對(duì)應(yīng)運(yùn)行庫(kù)。不要圖省事直接下載所謂的“修復(fù)工具”容易引入別的問(wèn)題。5.2 中文導(dǎo)出亂碼現(xiàn)象程序在本地顯示中文正常保存成 .xls 后用 Excel 打開(kāi)中文變成問(wèn)號(hào)或亂碼。原因?qū)懕P(pán)時(shí)字符編碼不匹配。老控件默認(rèn)按系統(tǒng) ANSI 代碼頁(yè)處理字符串程序內(nèi)部如果是 UTF-8 或 Unicode 字符串而界面用 ANSI 接口傳入就會(huì)錯(cuò)位。中文環(huán)境 Windows 的 ANSI 代碼頁(yè)是 936非中文環(huán)境的客戶機(jī)則是其他代碼頁(yè)同一份數(shù)據(jù)在兩個(gè)環(huán)境間搬動(dòng)就會(huì)出現(xiàn)這種詭異亂碼。解決優(yōu)先使用寬字符接口凡是能傳 BSTR 的方法就傳 UTF-16 字符串不要在調(diào)用前轉(zhuǎn)成窄字符串。其次保存前顯式設(shè)置控件的代碼頁(yè)屬性或者把系統(tǒng)區(qū)域統(tǒng)一設(shè)為中文后再生成文件。最笨但有效的兜底方案是導(dǎo)出后用腳本讀回來(lái)驗(yàn)證一遍內(nèi)容把亂碼掐在測(cè)試階段。5.3 公式計(jì)算結(jié)果莫名不變現(xiàn)象用 SSSetFormula 寫(xiě)完公式再調(diào)用 SSGetText 讀計(jì)算結(jié)果讀到的還是公式本身或上一次的舊值。原因一是該版本控件默認(rèn)自動(dòng)重算未開(kāi)啟公式寫(xiě)進(jìn)去只保存表達(dá)式不觸發(fā)計(jì)算二是寫(xiě)入順序有問(wèn)題先取數(shù)后寫(xiě)公式時(shí)序反了。解決寫(xiě)完所有公式后統(tǒng)一調(diào)用一次 Recalc(FALSE)再取數(shù)。如果是聯(lián)動(dòng)大表注意把 Recalc 放在最后避免中間取值拿到中間態(tài)。還有個(gè)小建議設(shè)置公式前先確認(rèn)區(qū)域里沒(méi)有殘留的保護(hù)鎖否則公式寫(xiě)入被拒錯(cuò)誤代碼不會(huì)直接提示。5.4 客戶機(jī)報(bào) ActiveX 控件無(wú)法創(chuàng)建現(xiàn)象開(kāi)發(fā)機(jī)跑得好好的打包發(fā)布到客戶機(jī)程序啟動(dòng)時(shí)彈“不能創(chuàng)建對(duì)象”“ActiveX 控件無(wú)法創(chuàng)建”之類(lèi)的錯(cuò)。原因只拷貝了 EXE沒(méi)有把 OCX 和依賴(lài)庫(kù)帶過(guò)去也沒(méi)有注冊(cè)。開(kāi)發(fā)機(jī)上有注冊(cè)表信息客戶機(jī)是干凈的自然找不到控件。解決把注冊(cè)步驟寫(xiě)進(jìn)安裝腳本安裝時(shí)按管理員權(quán)限執(zhí)行 SysWOW64 的 regsvr32 注冊(cè)控件。裝完再用測(cè)試程序確認(rèn)一次而不是讓用戶直接跑生產(chǎn)程序因?yàn)樯a(chǎn)程序里報(bào)錯(cuò)定位要繞一大圈。分發(fā)時(shí)注意文件版本要保持一致別開(kāi)發(fā)機(jī)一個(gè)版本、客戶機(jī)另一個(gè)版本。5.5 和本地 Office 搶文件關(guān)聯(lián)現(xiàn)象用戶雙擊 .xls 文件本應(yīng)打開(kāi) Excel結(jié)果被 Formula One 控件關(guān)聯(lián)的程序打開(kāi)了或者反過(guò)來(lái)控件程序打不開(kāi) Excel 表格。原因某些注冊(cè)腳本會(huì)把 .xls 的文件關(guān)聯(lián)也寫(xiě)進(jìn)注冊(cè)表安裝后接管了文件類(lèi)型。這屬于注冊(cè)信息過(guò)界不是控件本身的功能問(wèn)題。解決檢查注冊(cè)腳本是否包含 HKCR.xls 相關(guān)鍵值如果有編輯腳本去掉關(guān)聯(lián)部分再裝。已經(jīng)出現(xiàn)關(guān)聯(lián)被搶的在“打開(kāi)方式”里把默認(rèn)程序改回 Excel。部署時(shí)盡量采用按需調(diào)用不主動(dòng)搶占?xì)雨P(guān)聯(lián)這樣用戶的系統(tǒng)環(huán)境不會(huì)因?yàn)榘惭b一個(gè)控件而改變使用習(xí)慣。6. 驗(yàn)證與進(jìn)階注冊(cè)體檢 讓 Python 也來(lái)讀寫(xiě)同一張表6.1 驗(yàn)證注冊(cè)狀態(tài)的三個(gè)命令最后給一個(gè)快速確認(rèn)環(huán)境健康度的檢查路徑。裝完或接手一臺(tái)新機(jī)器我一般按以下三條命令做體檢十分鐘內(nèi)判斷控件是否真正可用。# 1. 用 32 位 regsvr32 重新注冊(cè)一次輸出成功信息 C:\Windows\SysWOW64\regsvr32.exe F1Book.ocx # 2. 查注冊(cè)表確認(rèn) ProgID 已存在 reg query HKCR\F1Book /s # 3. 依賴(lài)檢查只在異常時(shí)做正常環(huán)境可以跳過(guò)說(shuō)明第一條命令最直觀成功提示出現(xiàn)說(shuō)明 DLL 本身可被系統(tǒng)加載第二條查 ProgID確認(rèn)的不僅是注冊(cè)過(guò)還確認(rèn)名字沒(méi)被其他版本覆蓋。三件事都過(guò)再打開(kāi) IDE 拖一個(gè)控件做冒煙測(cè)試基本上可以開(kāi)工。6.2 進(jìn)階用 comtypes 讓 Python 調(diào)用控件最后一個(gè)實(shí)用技巧。有些自動(dòng)化測(cè)試要批量生成報(bào)表又不想引入重量級(jí)圖形界面可以讓 Python 通過(guò) comtypes 直接操作同一份控件。這樣既能統(tǒng)一模板邏輯又能把它并進(jìn)現(xiàn)有的自動(dòng)化腳本。# 前提控件已按第 3 章方式注冊(cè) import comtypes.client # 按 ProgID 創(chuàng)建控件實(shí)例多數(shù)版本用 F1Book book comtypes.client.CreateObject(F1Book) # 打開(kāi)一個(gè)已存在的 xls book.OpenFile(C:\\data\\demo.xls, False, False) # 讀取 B2 單元格內(nèi)容 val book.SSGetNumber(2, 2) print(B2 , val) # 給 C5 寫(xiě)文本再保存為新文件 book.SSSetText(5, 3, 已處理) book.SaveFile(C:\\data\\result.xls, 0, False)邏輯說(shuō)明comtypes 會(huì)從注冊(cè)表讀取類(lèi)型庫(kù)并自動(dòng)生成 Python 側(cè)方法接口名和 C 側(cè)一致。CreateObject 按 ProgID 查找如果機(jī)器上有多個(gè) Formula One 版本ProgID 要對(duì)應(yīng)到你注冊(cè)的那一個(gè)。如果報(bào)“沒(méi)有注冊(cè)表信息”回到 regsvr32 檢查。SaveFile 后可以用 pandas 讀一遍結(jié)果確認(rèn)文件沒(méi)被寫(xiě)壞。從那以后我每次接手這類(lèi)控件項(xiàng)目都會(huì)強(qiáng)制自己先走一遍“查看文件組成、確認(rèn)位寬、注冊(cè)、冒煙測(cè)試、檢查關(guān)聯(lián)”這五步再往業(yè)務(wù)代碼里鉆。順序不亂排查成本就低一半。希望這篇筆記幫到你。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
久久五月丁香激情综合| 另类图片 五月激情| 丁香九月婷婷综合| 五月永久激情| 婷婷金品综合视频| 天天日,天天插| 99色婷婷| 久久er免费视频| 69精品人人人人| 五月青青草综合| 久re在线| 这里只有精品视频在线| 日本五月婷婷| 性天堂久久| 五月丁香激情四射综合| 婷婷丁香熟女| 激情综合网五月激情| 五月婷婷狠天天色综合| 丁香五月激情婷婷视频| 99ri视频在线播放| 奇米影视777在线_在线观看午夜_h小视频在线观看_岛国大片 | 国产精品视频免费看| 欧美色色色色色色色| 色色无码日韩| 91丨九色丨熟女|新版| www.夜夜操| 狠狠干婷婷| 日韩限制级大尺度黑料泄密大尺度视频一区二区在线观看 | 99视频在线播放大全| 九九精品片一| 99热九九这里只有精品| 99热加勒比| 婷婷六月伊人| 精品久久久人妻| 中文字幕在线观看视频www| 五月婷婷花| 99在线播放视频| 99久99久| 激情AV网| 久9热在线视频| 亚洲丁香花色| 丁香婷婷五月色成人网站| 五月色情网| 丁香五月激情网| 久久婷婷五月天激情新地址| 91精品久久久久久久久久| 久青草影院| 五月天婷婷开心| 久久免费精品小视频| 中文字幕无线久必| 色色五月婷婷| 五月天婷婷色| www.婷婷五月天,com| 色激情五月| 久久精品综合色| 青青草婷婷五月天| 国产91在线视频| 色色欧美色色色| 91九九| 丁香六月啪| 人人干人人看| 91黄操| 丁香五月天成人网站| 婷婷夜夜夜夜| 天天操天天草天天草天天| 久色视频首页| 五月天玖玖狠狠色色| 99热在线观看| 国产乱妇无乱码大黄AA片| 天天狠狠夜夜狠狠2023| 香蕉久久国产AV一区二区| 天天爱天天操| 久久久国产精品黄毛片| ai97re99一本| 五月五月婷婷| 五月丁香啪啪网| 亚洲AV人人操| 丁香五月老师| 色五月婷婷丁香五月| 激情综合六月| 激情五月天激情小说| 欧美成人A片AAA片在线播放| Www.sesese丁香| 色99网| 婷婷黄色| 丰满人妻妇伦又伦精品国产| AV操一操| 思思热这里只有精品| 亚洲V国产V欧美V久久久久久| 久色大| 久久久久网站| 欧美搡BBBBB摔BBBBB| 日韩av变天就操逼不卡区| 婷久久久| 久久只有这里精品免费| 狠狠干伊人| 亚洲avjiujiur91| 婷婷五月激情片| 天天色天天爱天天爱天天爱y| 亚洲综合婷婷五月| 久久Xx| 婷婷成人视频| 99在线播放| 久久五月婷婷视频| AV天堂淫乩| 开心综合激情综合| 九九热只有精品| 思思热视频| 丁香五月偷拍| 九热视频精品| 日日日,com| 99热这里只有精品手机在线观看| 亚洲色五月| 思思热视频| 五月天婷久久| 欧美五月丁香在线| 99久久五月婷婷| 亚洲色在线观看| 全部老头和老太XXXXX| 五月丁香A∨在线| 日本99视频| 欧美英丁香开心快乐六月天网| 日本色综合| 五月丁香成人网| 黄页免费一级视频懂色| 五月天激情啪啪| 五月天色在线| 五月天开心色情网| 超碰成人公开| 99精彩视频在线观看| 99碰网站| 五月天综合激情网| 国产.亚洲.欧洲视频在线| 久久婷婷一级片| 成人深爱丁香五月| 99这里只有精品|v| 婷婷午夜综合| 激情久久久| www.99精品视频| 99热只有精品在线观看| 少妇AB又爽又紧无码网站| 人人插9| 99热这里只有精品23| 九九热最新| 97碰| 丁香五月婷婷超碰在线| 变态另类9| 激情婷婷22月间| 激情校园 亚洲| 日本狠狠色| 丁香激情久久| 激情五月天色播| PORNY九色9l自拍视频成人| 噜噜国产| 激情九月综合| 嫩草AV久久伊人妇女超级A| 色五月首页| 碰碰女| 亚洲啪啪网| 婷婷成人五月天成人文学| 色很久综合| 五月婷婷69| 九九色天堂| 日本色色色| 热久久这里只有三级视频| 可以免费看的av网站| 久久久久亚洲AV综合| 亚洲色婷婷99一9|| 91国产精品视频播放| www.俺去也com| 五月色婷婷夜色| 色99网| 伊人久久中文网| 五月综合色| 99热国产精品| 五月丁香久久网| 五月天激情网图片| 思思热精品在线观看| 殴美97色| 精品久久人妻| 激情綜合W W W,激情五月天| 亚洲成人综合在线| 一本色道久久综合狠狠躁一二三| 99精品热视频| 婷婷成人小说综合| 国产免费一区二区三区三州老师F1F1.CC| 4438激情网| 婷婷五月天久久久| 黄色片avv| 激情综合国产| 五月婷婷天天色| 国产免费一区二区三州老师F1……| 五月丁香婷爱在线| 国产日韩欧美性生活| 丁香五月影| 五月婷婷丁香网| 日韩99视频| 超碰91在线| 久久婷婷五月天激情唯美| 香蕉色色网| 欧美六月| 狠狠干在线| 综合色久| 激情五月五月婷婷| 六月婷婷狠狠色在线观看| 亚洲婷婷性爱| 51国精产品自偷自偷综合| 婷婷免费无视频| 亚洲色色五月天| 女人天堂AV| 色日本五月天| 99人人干人人操| 天天干天天干天天干| 激情婷婷五月久久| 色综合色色色色色色综合| www激情| 青青热视频| 99热综合| 少妇高潮一区二区三区99欧美| 襙比视频| 噜噜色五月| 91精选国| 色色色激情网| 91久久九| 四色永久成人网站| 久久丁香五月婷婷| 免费视频WWW在线观看网站| av免费在线网站| 五月婷婷av| 婷婷激情社区| 婷婷五月图片小说网| 色色色色色热| 色婷婷av在线| 任我鲁这里有精品视频| 激情骚五月| 最近免费中文字幕大全高清大全1| 国产精品色婷婷久久久精品| 九热视频| 色色网站在线| 最新AV在线观看| 麻豆观看夏晴子| 中文av网| 五月丁香六月色| 2025中文在线视频字幕免费观看| 97色色色色色色色| 五月综合色| 婷婷久久图片| 九九综合网色全集| 久青操| 九九九九中文字幕| 婷婷五月激情五月丁香五月| 狠爱婷色| 婷婷99狠狠躁天天躁中文| 婷婷综合在线视频| 玖玖在线视| www.91在线观看| 黄色91在线观看| 久久奄也去色色网站| 丁香五月五婷| 亚洲秘 无码一区二区三区妃光/1| 五月婷婷中文网| 久久五月天色婷婷| 五月花成人网| 久久机热思思热| 久久99久久99精品免观看软件| 久久黄色免费视频| 影音先锋 婷婷| 白天AV月月| 襙比视频| 丁香六月婷婷综合缴| 狠狠狠夜夜夜| 99自拍视频网站| AV在线免费网站| 久久 婷婷 五月天| 67194国产| 五月激情在线| 艹色18p| 手机在线视频观看9| 9 9 9色色| 吊色AV男人的天堂| 国产在线6| 丁香五月AV综合| 婷婷激情蜜桃玖玖丁香| 激情五月天电影| 色婷久九| 国产精产国品一二三在观看| www.久9| 98永久精品| 久9热视频在线观看| 五月天成人综合| 丁香六月婷婷久久综合八月| 五月天久久网站| 丁香激情五月| 熟女人妻一区二区三区免费看| 老师高潮流白浆喷水的A片| 亚洲182在线观看| 色婷久| 99色在线视频| 日韩AV大全| 强伦轩人妻一区二区电影| 怕怕視頻| 五月丁香六月婷婷无码| 色播播五月天| 久久狠婷婷| 99re66热这里只有精品| 丁香六月欧美| 欧美精品中文字幕亚洲专区| 97人妻碰碰碰久久香蕉| 五月婷婷花| 超碰日日操| 国色天香成人网| 久久男人网婷婷| 91色涩| 天天操B| 奇米影视777在线_在线观看午夜_h小视频在线观看_岛国大片 | 97人人做| 九九无毛| WWW夜夜| 深爱激情五月婷婷| 99原创自拍视频在线观看| 色情开心五月| 婷婷五月伦理| 99视频内射三四| 99丁香五月婷婷在线| 亚洲综合激| 爽天天天天天天天| WWW.五月com| 九色婷婷| 久久婷婷五月综合伊人| 天天草天天摸| 色五月婷婷五月| 丁香五月婷婷亚洲综合精品| 婷婷丁香十月| 九九色video| 久久丝丝热| 俺去啦综合网| 精品二区| 五月天婷婷激情小说| 日韩成人AV在线播放| 五月婷婷激情久久| 色5月婷婷| 九九综合图片网| 成人av在线网| 妻久久久久| 五月www| 五月丁香久人妻中文| 亚洲综合五月天婷婷| 久久香蕉网| 色五月天综合网| 国产黄大片在线观看画质优化| 婷婷五月天久久久| 色婷婷五月在线| 91.com男女操| 九九99九九99偷拍视频免费看| 丁香婷婷老司机久操| 久久久五月激| 日韩日比视频在线| 六月丁香VA| WWW色色色COM| 婷婷九月丁香| 99热这里只有精品22| 天堂爱啪啪| www婷婷| 狠狠狠狠青草| 丁香五月在线自慰| 这里只有视频精品| 九九九九操逼| 欧美日韩aaaa| 99五月婷| 成人精品在线| 婷婷色无码| 内射爽无广熟女亚洲| av婷婷丁香 六月| 五月丁香六月欧美综合网站| 亚洲激情五月婷婷日日| 日本性视频| 五月婷婷之美女图片| 伊人九热| 婷婷五月激情网| 久久总和99| 男人的天堂五月丁香| 亚洲一区二区无遮挡A片| 婷婷丁香五月91| 婷婷五月综合啪| 久草a片| 超碰人人艹| 色综合色| 乱精品一区字幕二区| 色欲五月婷婷| 丁香婷婷色九月| 九九热最新地址| 久久视频婷婷视频| 91九色在线观看免费| 激情综合五月| 五月花成人网| 91人人操人人看| 色五月成人| 思思视频这里是精品| 日韩乱玛久久| 玖玖爱导航| 亚洲九区| 99视频这里有精品免费观看| 狠狠干综合| 色色色国产| 99国产精品白浆在线观看免费| 五月天色婷婷视频| 99色精品| 少妇出轨做爰高潮A片| 99这里只有精品|v| 狠狠看狠狠| 婷婷色色综合| 激情视频网址| 岛国AV网| 玖玖色资源站| 色综合丁香婷婷| 色狠狠色噜噜AV天堂五区| 婷婷播5月| 婷婷爱在线观看| 五月婷婷先锋| 人人摸人人干| 91一起操| 99热这里只有精品99| 夜夜骑操AV| 婷婷丁香综合| 激情九月丁香婷婷| 国产精品国产成人国产三级| 玖玖色综合网| 五月婷婷丁香俺日污视频| 香蕉婷婷色五月| 日本99视频精品免费播放| 夫妇交换刺激做爰| 五月婷婷婷| 婷婷五月天免费视频| 人人操Av| www.色婷婷| www.天天干| 婷婷丁香视频| 天天草狠狠擦| 天天综合久久| 欧美精产国品一二三区| 五月激情婷婷开心五月| 五月丁香偷拍| 激情丁香五月| 丁香五月婷婷高清| 91丨九色丨国产打屁股网站| 国产美女无遮挡裸体毛片A片| 99精品在线观看视频| 色噜噜婷婷| 就爱操www com| 丁香五月大香蕉| 伊人久久中文网| 色婷婷精品视频在线播放| 国产精品色情AAAAA片软件| 91五月天| 丁香五月婷老师| 五月激情五月丁香| 26uuu色噜噜精品一区| 久久婷五月婷| 91久久1118| 99热精品99| 操碰久| 月丁香久久久| 欧美色碰| 九九99免费视频| 婷婷丁香激情综合色情| 丁香五月综合婷婷| 亚洲精品视频在线| 色婷婷成人做爰A片免费看网站 | 久久婷婷精品| 九九色综合| 色五月91| 丁香六月婷婷激情综合| 热热久久精品视频| 思思99re这里只有| 丁香五月人妻| 91超碰在线观看| 中文字幕AV在线| 亚洲精品大片| 日日鲁鲁鲁夜夜爽爽狠狠视频97| 亚洲精品V天堂中文字幕| 性爱激情综合网| 波多野结衣不卡AV| 91丁香| 中文字幕av在线播放| 99热精品观看| 五月婷婷在线视频免费观看| 天天爱天天做天天爽| 五月天婷婷黄色| www色综合| 亚洲综合五月| 91一起操| 色偷偷人人| 怡春院久操| 激情五月婷婷综合| 五月久久亚洲| 大香蕉久热| 激情第四色| 色噜噜丁香| 九色七七| 国产精品18久久久| 六月婷婷七月丁香| 综合久色五月| 欧美日韩成人一区二区| 99高级会所久久| 色爱终和网| 五月激情天| 九九热这里只有精品6| 成人免费120分钟啪啪| 91干99| 99九九在线| 啪啪啪大香蕉| 天堂久久婷婷| 日韩乱轮AV| 91在线视频综合| VA五月激情在线| 丁香五月乱中文字幕| 五月婷啪啪| 在线看的免费网站| caop在线视频| 五月成人天| 99爱在线视频| 91色在线 | 日韩| 99热思思在线观看| 亚洲美女高潮久久久久久69| 五六月婷婷久久| 91超级碰碰碰| 久操97| 国产乱妇乱子在线播视频播放网站 | 久热婷婷| 五月天久久综合| 五月丁香亚洲五月| 视频综合网| 99热无码| 免费观看全黄做爰的视频| 久久9热| 婷婷五月天影视| 六月婷婷av| 91美女艹逼网站| 99亚洲综合| 色五月婷婷大香蕉| 天天久久婷婷| 亚洲性色XXXXX| 五月婷婷中文| 九洲一级A片| 久久婷婷激情| 99热99热在线观看| 91久操| 97精品综合久久| 亚洲啪视频| 婷婷婷五月香蕉| 激情丁香五月激情婷婷| 色偷偷五月天| 97操操| 天天插天天插| 婷婷久久影院| 99热在线播放| 免费啪啪啪网站| 欧美激情综合色综合| 丰满女老板BD高清A片| 九月丁香婷婷| 久久婷婷色| 91九色精品熟女内射| 色色日本欧美| 1024婷婷综合久久五月天| 日韩啪啪自拍| 天天摸色吧天天摸色吧| 婷婷五月日本| 婷婷精品性视频| 影音先锋AV男人站| rr天天操| 丁香五月777| 婷婷色五月在线视频| 精品久9| 另类小说婷婷色| 成人无码髙潮喷水A片| oumeisesewang| 丁香网站| 五月天激情小说婷婷基地| 丰满少妇乱A片无码| 人人爽人人爽人人爽人人爽| 97操碰人免费| 久久精热| 91viP在线看| 国产成人网址| 色婷婷成人影片| 思思re最新视频| 久久精品永久免费| 色婷婷啪啪| 1区2区视频| 超碰操网| 极品人妻VIDEOSSS人妻| 婷婷五月天激情网站| 日韩无码91| 99热老司机| 九玖视频这里只有精品| www久久久久久久久久久| 天天干天天叉| 久久精品五月天| 天天天天天天操| 亚洲色激婷| 久久色情综合免费网站| 久久最新色| 六月丁丁香| 丁香激情六月天婷婷| 99视频日韩| 色五月超碰| 色色啊| 色约约视频一区二区三区四区五区| 91人人爽狠狠狠| 99日本黄站| 久久婷婷热| 少妇熟女视频一区二区三区| 五月丁香婷庭在线| 97婷婷狠狠| 开心激情站| 狠狠狠狠狠操| 九九99精品视频| 丁香六月激情| 九九热精品| 婷丁五月| 免费看片操逼| 成人做爰高潮A片免费视频| 亚洲这里只有精品| 欧洲激情五月天婷婷| 五月天婷婷涩涩| 婷婷五月花| 久久久久er热| 色五月丁香一区在线| 激情婷婷九月| 五月婷婷综合激情小说| 五月天综合婷婷| 久久婷婷激情视频| 337p午夜影院| ww亚洲ww在线观看| 五月婷婷日| 国产XXXX搡XXXXX搡麻豆| 日本视频99| 丁香五月婷婷成人网| 婷婷91| 日本大逼91| 欧美性做爰大片免费看办公室| 99爱视频| 夜夜干天天干| www.丁香黄色五月天人与| 99久久综合| 99久久久久久久| 操操操B| 天天干 夜夜爽| 久久色亭亭五月天| 婷婷五月在线播放| tingtingcaobi| 激情五月六月婷婷| 亚洲黄色精品| 五月天婷婷丁香| 丁香激激情网| 六月丁香五月亭亭| 五月婷婷开心色伊人| 99综合在线| 伊人色综合久久久| 国内久久久精品99| 婷婷五月精品中文| 日逼影音先锋AV男人资源站| 婷婷D区| 99激情| 91操人| 超碰com| 色综合天天综合成人网| 亚州操人在线视频| 日日色综合| 日本操逼九九九九58日本操逼| 五月丁香色五月| 秋霞学生妹一二级| 五月丁香婷婷激情久久| 极品 少妇 内射| 久久激情综合| 中文字幕簧片| 台湾佬天天日丁香婷婷五月天 | 日本激情91| 国内久久亭亭| 色色五月天网站| 超碰93在线观看| 黄网在线观看免费| 亚洲不卡| 五月天色婷婷激情综合| 久久与婷婷| 五月婷婷开心激情六月蜜桃| 亚洲第精品| 五月婷在线色视频| 婷婷五月天激情五月天深爱五月天| 人妻精品久久久久久久| 人人操五月天| 激情综合婷婷| 丁香六月色香蕉视频| 再綫Av免费視品| 天天爽,天天操。| 激情综合网亚洲色图| 婷婷五月天亚洲综合| 五月婷在线播放| 色域五月婷婷丁香| 色狠狠综合| 成人国产网站在线免费看| 九九久久玖玖爱| 啪啪黄页网| 色婷婷丁香五月| 婷婷五月天少妇| 激情网婷婷婷| 97人人做| 欧美成人AAA片一区国产精品| 日韩三级高清无码| WWW.99视频| 狠狠操天天干| 99性视频| 日本色色影片| 97超级操操| 99热久| 狠狠色丁香婷婷基地| 婷婷噜噜| 婷婷深爱五月天| 日本婷婷激情四射中文字幕在线观看| 婷婷久久精品| 五月色欧洲| 亭亭玉月丁香| 九九视频在线观看视频6 | 天天久久婷婷| 日日夜夜狠狠婷婷色| 丁香婷婷综合激情五月色| 久久永久视频| 97日本操| 99啪啪| 久久色五月天激情小说| 99这里有精品视频| 激情久久月| 侠女刀之记忆电影在线看免费| 婷婷五月天开心激情网| 激情视频网址| 久久婷婷人人| 丁香五月天啪啪激情综和网| 激情综合网五月婷婷| 婷婷丁香色无五月| 天天操综合网| 噜噜狠狠色综无码久久合欧美| 九九人人操| WWW.HENHENL.| 综合婷婷六月| 夜夜 操无码| 一起草日本| 日本精品。999| www.91婷婷| 91久久国产自产拍夜夜91久久精品文字>91麻豆精品国产 | 天天插天天射| 激情av在线| 九九热视频思思| 啪啪啪综合网| 久久五月综合| 97影院一级片| 91操屁股| 日本激情综合| 五月停停大香蕉| 久久最新色色色| 五月婷婷狠狠干| 日韩美一级毛卡片 | 综合综合网| 五月天精品| 99热人人| 97资源欧美日韩大香蕉超碰一区| 大香蕉懂9| 淫水导航| 日本在线观看99| 99在线视频精品| 99热成人| 日本女va| 超碰免费在线| 怕怕av| 亚洲日日操| 丁香九月久久| 97精品综合| 五月丁香久| 琪琪色五月天| 色日本综合| 在线成人av播放| 激情五月天开心总和网| 日本天堂网站99| 99热视精品| 国内精品免费一区二区2009| 韩国久久少妇视屏| 五月天综合色| 丁香婷婷深情五月亚洲| 久久aaaaa| 99精品视频在线观看| 色噜噜五月天| 久热九九| 五月色婷婷综合色| 嫩草极品| 亚洲激情97五月天| 国产亚洲色婷婷久久99精品91 www.riverspirits.org www.hnnun.com www.changh | 国产小精品| 玖玖资源网站最新站| 激情AV网| 激情五月天小说|五月天开心激情网|亚洲精品国产自在现线|黄色五月天 | 精品九九视频在线观看| 操逼电影免费看| 色综合色色色| 午夜激情婷婷| 大香蕉伊人久久| 欧美五月丁香在线观看| 97色碰碰公开视频| 9久热免费视频99| 婷婷五月天AV| 香蕉久久国产AV一区二区| 五月丁香激情欧洲啪啪| 亚州综合色| 9久久精品| 丁香花五月天| 久久五月情| 99久久网站| 亚洲激情高潮| 六月婷婷最新网址| www.99热国产| 婷婷综合在线网| 五月婷婷丁香大陆免费| 久久黄色免费视频| 久草婷婷视频| 天天色色天天| 激情美女五月天激情在线| 91疯狂操操操操| 97色色视频| 国产色99| 国产欧美日韩性爱| 69热91天堂| 啪啪99| xxx日本东京热| 久久婷婷人人| 香蕉AV777XXX色综合一区| 日本色狠狠| 高潮毛片遮挡费高一百度| 五月天婷婷Av| 五月婷婷综合激情| 99视频在线精品免费观看2| 99色综合| 国产亚洲成AV人片在线| www99热| 婷婷六月啪啪| 国产色色网站网址| 亚洲综合999| 性做爰1一7伦| 在线中文字幕av| 色五狠狠| 影音先锋女人av鲁色资源网小说免费 | 色婷婷久久综合久色| 婷婷色五月天色色| 少妇AB又爽又紧无码网站| 久久婷婷内射| 婷婷丁香成人五月天| 99热免费精品热久久66| 97婷婷在线| 天堂婷婷综合| 99视频精品在线| 99综合| 五月天停停基地| 成久综合视频| 超级碰碰碰97免费| 天天日日| 日本天天色| 久综合网| 123草逼网| 五月天五月天成人网亭亭成人色网站| www.夜夜操.con| 色婷婷亚洲精品天天综| 99精品综合视频| 97婷婷丁香五月| 亚洲激情淫网| 日韩色色色色色| 99热99操| 九九re视频在线视频| 日逼AV影音先锋男人资源站| 色五月婷婷在线| 久久久WWW| 色五月婷婷亚洲| 五月天婷婷色紫薇阁| 国产精品久久久海的味道| 激情丁香五月| 成人丁香五月| 色爽九九| 亚洲第一综合| 狠狠摸狠狠摸| 亚洲精品国产精品乱码视99| 五月天婷婷丁香六月| 26uuu91| 国产五月天激情小说| 99热这里只有精品国产免费| 97干在线| 亚洲sesesese| 亚洲激情网| 日本久久精品| 色播五月丁香| 久久激情视频99| 97人人操人人爽| 五月婷婷激情| 大香蕉五月天婷婷| 久久三级视频| 5月婷婷视频网站综合| 丁香婷婷六月激情文学 | 国产色丁香| 色狠狠激情五月| 玖玖伦理电影| 六月婷婷狠狠| 丁香五月在线视频黑人| 人人视频色| 天天精品视频免费观看| 噜噜狠狠色综合久| 91九色国产| 五月婷婷色五月| 99爱在线视频| 99热66| 国产人妻777人伦精品HD| 丁香五月天AV在线 | 色婷婷久久久| 婷婷五月天小说| 欧美大片| 欧美五月婷婷综合| 91se在线观看| 久久98| 六月婷婷狠狠色在线观看| 五月丁香六月激情网| 丁香丝袜五月| 五月婷婷啪啪综合网| 丁香五月首页| 欧美精品999| 五月久久丁香| 欧美日本黄色| 天天插天天插天天日| 国产在线另类五月婷婷| 丁香五月在线观看| 99热手机在线精品| 天天久综合网永久入口18| 久久天堂女人| www.91色| 五月综合激情视频| 91九色视频在线观看| 久久婷婷影院| 九 九九九AV| 黄色片区子| 开心五月激情五月丁香五月婷婷| 丁香婷婷五月天在线视频| 国产激情综合五月久久| 玖玖色综合色| 99热免费精品| 97婷婷丁香五月| 九九大香视频| 亚洲精品无码一区二区| 99小视频在线观看| 九九热再线九九视频免费在线观看| 五月丁香六月花| 欧美性生交A片免费看| 大香蕉伊人99| www.天天干| 亚州色综合| 丁香色情五月综合激情| 九九久久综合网站| 开心五月婷婷婷美女| 97碰在线视频| 婷婷激情人妻| 日韩av手机在线观看| 丁香五月婷婷激情小说| 免费啪啪亚州视频| 超级碰碰碰97免费| 99热丁香五月| 久久人妻久久久久| 欧美噜噜免费观看| 激情五月,激情综合网| 婷婷丁五月| 色婷婷成人| 久久久天堂国产精品女人| 五月天久久网站| 操嫩逼电影| 色欲色香综合网| 久久婷婷综合色丁香| 狠狠人人| 日日夜夜天天综合| av成人在线播放| 九九热这里只有精品9| 国产免费一区二区在线A片视频| 亚洲成人av在线观看| 色播五月丁香婷婷| 99热9| 婷婷影院欧美| 欧美性爱5月天天天看| 开心五月婷婷| 综合色图区| www.99热在线| 日韩天堂久久| 久久 视频这里只有精总| 亚洲亚洲人成综合网络| 97综合在线| 玖玖色综合网| 久久综合伊人77777蜜臀| 俺也去在线视频| 婷婷五月激情四射手| 丁香五月亭亭六月综合激情网| 玖玖色综合| 五月丁香综合激情网| 婷婷五月天基地| 蜜乳AV成人| 思思久久青草热| 婷婷五月欧美综合| 日本特黄aaaaa| 精品一二三区久久AAA片| 精品五月视频婷婷在线观看| 丁香五月综合| AV在线大香蕉| 嫩草视频在线观看| 亚洲无码成人| 欧美97色| 欧美久热| 51国精产品自偷自偷综合| 精品久久99码| 99精品免费视频| 亚洲欧洲另类| 性综合网| 精品久久人妻热| 欧美人与性动交CCOO| 久久狠色噜噜狠狠狠狠97| 99国产精品久久久久久久久久久| 婷婷天天舔| 成人精品视频99在线观看免费| 日日夜夜青青草| 国产真实乱对白精彩| 九九热这里只有精品9| 五月丁香综合色婷婷| 这里只有精彩视| 九月av在线| 日韩在线观看亚洲| 色综合激情| 五月丁香色综合| 五月天婷婷伊人| 九色综合五月天婷五月| 五月激情小说网| 91色九| 日韩aaaaa| 婷婷色五月天综合网| 91丁香色五月| 91超级碰在线| 激情综合播播| 日韩一本操| 精品五月天| 中文精品在| 开心五月婷婷| 性99网站| 九九综合色综合| www.五月丁香| 婷婷色色网| 久久99精品久久久久久三级| 9久精品| 五月丁六月香av| 97超碰欧美中文字幕| 婷婷天堂综合| www,欧美干干干干干干| 人人草碰| 99免费| 日日懆天天懆| 六月婷婷综合久久| 五月天色五月| 五月婷婷丁香俺日污视频| 狼人久草| 久99婷婷色综合| 亚洲综合草草| 秋霞网在线观看理论91| 亚洲精品网址| 中文字幕在线观看视频www| 五月天婷婷中文字幕在线播放| 五月丁香六月综合基地| www.色五月| 日91高清无玛| 婷婷激情蜜桃玖玖丁香| 99五月婷| 天堂伊人干| 武则天精品久久| 99视频精品8| 99re视频在线播放| 人碰人人人玩91| 久久久婷婷婷| 五月婷婷综合久久| 99这里有精品久久97| 啪啪五月综合| 日本人妻伦在线中文字幕| 狠狠干综合网| 久热中文字幕在线线观看| 欧美久久婷婷| 激情五月瑟瑟| 无码激情AAAAA片-区区 | 色色色色五月| 欧日韩AV| 欧美色色色色色色色色色色| 久久久久久久久月丁| 婷婷五月成人| 色色99| 五月激情综合深爱| 欧美色狠婷久| 久久99激情| 99精品久久久久久久久| 丁香婷婷啪啪| 丁香五月欧美成人| 五月天狠狠网| www.五月丁香av| 精品网站99| 日韩欧美颜射| 99人妻碰碰碰久久久久视| 丁香六月婷婷激情| www.色五月| 久99久视频| 成人在线视频网| 极品另类| 久久机热/这里只有精品| 色五月婷婷婷婷| 思思99热在线| 天天草人人摸| 99热都是精品| 久久婷婷色情7777网站| 一起草av在线观看| 怡春院天天干| 90色免费视频| 影音 五月 婷婷 久久| 欧美顶级少妇做爰HD| 色婷婷激情| 亚洲综合五月| 亭亭五月色男人| 成人短视频在线观看| 亚洲愉拍99热成人精品| 123草逼网| 九九大香蕉黄色影院| 深爱激情五月天| 欧美色婷婷| 色综合五月| 五月婷婷激情五月| 婷婷社区五月天| 婷婷五月天狠狠色| 激情五月婷婷五月| 久久精品人妻| 天天射影院| 99视频在线精品| 69堂午夜视频最新地址| 丁香五月首页| 婷婷综合97| 亚洲性爱电影| 日韩不卡DvD| 婷婷成人网五月天| 色五月婷婷天天干| 色婷婷在线综合色播网| 影音先锋 91工厂| 综合综合网| 99热这里只有在线| 青草激情综合| 五月丁香六月婷婷激情网| 99热99美国在线观看| 大香蕉久艹| 婷婷欧美| 国产精品久久久久久妇女6080| 97精品人人A片免费看| 久久综合五月情| 99re免费视频| 婷婷五月电影| 久久这里只有精品5| 天天操天天操| 天天干天天射色综合| 欧美性爱五月天| 五月婷丁香| 黄桃AV无码免费一区二区三区| 丁香五月天操B| 自拍视频在线观看9| 91视频精品99| 91精品电影18T| www.亭亭五月天| 热99在线精品| 五月激情综合网| 久久婷婷五月丁香蜜桃网| 婷婷丁香综合| 丁香五月婷婷亚洲人| 五月丁香久久久| 在线只有精品| 综合色99| 婷婷五月娱乐在线| www.99热视频| 五月丁香婷婷综合激情基地| 亚洲第79页| 久久五月视频| WwW色婷婷| 九九AV在线| 综合五月天天天天天五月| 五月婷婷色播| 开心五月天激情网| 婷婷丁香五月天熟女丝袜| 国产亚洲在线观看| 成人美女网| 亚洲精品激情| 爱操人妻| 婷婷五月天桃花网| 91婷婷色五月| 激情综合网,婷婷五月天| 五月亭亭网成人在线视频| 婷婷五月天网| 久久机热探花| 五月丁香五月丁香| 最新丁香六月婷婷| 操人91| 婷婷五月激情五月丁香五月| 可以免费观看的av网址| 色欲一二三| 少妇大叫太大太粗太爽了A片| 综合超碰熟| 五月天色五月天| 色综合九九| 国产黄色大片| 这里只有精品日韩精品| 综合色影院| 1024在线一区| 一起草无码视频| 国产精品色色| 五月婷婷久久大片| 丁香综合婷婷开心激情网| 亚洲色99| 99干日日干| 久久九九怡红院| 开心五月婷婷| 亚洲AV无码成人电影| www.25五月婷婷| 97婷婷狠狠| 九九综合88| 丁香五月婷婷乱| 六月婷婷综合| 五月色网| 九九热婷婷| 五月婷婷综合在线视频| 爱草视频在线观看| 天天插天天插| 亚洲综合99| 日本一级一片免费视频| 日本天堂网站99| 婷婷五月天激情视频| 色吧综合网| 亚洲成人免费在线| 欧美日韩成人高清在线| 91久久精品视频| 亚洲情a| 婷婷五月丁香基| 亚洲婷婷五月草久| 五月婷婷激情网| 婷婷色婷婷| 中文字幕av久久爽一区| 日韩精品超碰在线观看| 五月天成人网在线观看| 色爱爱综合网| 热成人网| 超碰免费人人肏| 丁香五月冃欧美| 色五月婷婷777| 欧美综合五月丁香五月天| 欧美成人精品A片免费一区99| 五月天激情综合网站| 婷婷六月色| 久久五月丁香| 久久99久久99精品免视看婷婷| 九九久久99精品免费观看www| 激情六月婷婷| 色色吧综合| 色偷偷五月天| 五月激情六月|