超碰91资源站-超碰97豆花-超碰97人妻-超碰97人人干-超碰97人人香蕉-超碰97天天操-超碰97在线资源站-超碰97资源站共享-超碰97资源站总站-超碰aa在线91-超碰av操-超碰爱爱

半岛外围网上直营

Node.js + SpreadJS!從服務端生成Excel電子表格

轉帖|使用教程|編輯:龔雪|2023-04-27 10:03:03.750|閱讀 175 次

概述:本文介紹如何使用Node.js+SpreadJS從服務端生成Excel電子表格,一起來看看吧~

# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>

Node.js是一個基于Chrome V8引擎的JavaScript運行環境,通常用于創建網絡應用程序。它可以同時處理多個連接,并且不像其他大多數模型那樣依賴線程。

對于 Web 開發者來說,從數據庫或Web服務器獲取數據,然后輸出到Excel文件以進行進一步分析的場景時有發生。我們的技術團隊在跟國內外各行各業用戶交流的過程中,就曾發現有很多的用戶嘗試在Node.js的環境下運行SpreadJS 純前端表格控件,借助該控件,可以在服務器不預裝任何Excel依賴項的情況下,收集用戶輸入的信息,并將其自動導出到Excel文件中。

為了滿足廣大技術愛好者的需要,同時減少大家在未來技術選型方面所走的彎路,本文將就SpreadJS 與 Node.js之間的技術性方案進行探討!

SpreadJS結合40余年專業控件技術和在電子表格應用領域的經驗而推出的純前端表格控件,基于 HTML5,兼容 450 多種 Excel 公式,具備“高性能、跨平臺、與 Excel 高度兼容”的產品特性,備受華為、明源云、遠光軟件等知名企業青睞,被中國軟件行業協會認定為“中國優秀軟件產品”。SpreadJS在界面和功能上與 Excel 高度類似,但又不局限于 Excel,而是為企業信息化系統提供 表格文檔協同編輯、 數據填報 和 類 Excel 報表設計 的應用場景支持,極大降低了企業研發成本和項目交付風險。

獲取SpreadJS最新正式版下載

安裝SpreadJS和Node.js

首先,我們需要安裝Node.js以及Mock-Browser,BufferJS和FileReader,大家可以前往以下鏈接進行下載,同步操作:

我們將使用Visual Studio創建應用程序。打開Visual Studio后,使用JavaScript> Node.js>Blank Node.js控制臺應用程序模板創建一個新應用程序。這將自動創建所需的文件并打開“ app.js”文件,也是我們將要更改的唯一文件。

對于BufferJS庫,您需要下載該軟件包,然后通過導航到項目文件夾(一旦創建)并運行以下命令,將其手動安裝到項目中:

安裝完成后,您可能需要打開項目的package.json文件并將其添加到“ dependencies”部分。文件內容應如下所示:

{
"name": "spread-sheets-node-jsapp",
"version": "0.0.0",
"description": "SpreadSheetsNodeJSApp",
"main": "app.js",
"author": {
"name": "admin"
},
"dependencies": {
"FileReader": "^0.10.2",
"bufferjs": "1.0.0",
"mock-browser": "^0.92.14"
}
}

在此示例中,我們將使用Node.js的文件系統模塊。我們可以將其加載到:

var fs = require('fs')

為了將SpreadJS與Node.js結合使用,我們還需要加載已安裝的Mock-Browser:

var mockBrowser =require('mock-browser').mocks.MockBrowser

在加載SpreadJS腳本之前,我們需要初始化模擬瀏覽器。初始化我們稍后在應用程序中可能需要使用的變量,尤其是“ window”變量:

global.window =mockBrowser.createWindow()
global.document = window.document
global.navigator = window.navigator
global.HTMLCollection =window.HTMLCollection
global.getComputedStyle =window.getComputedStyle

初始化FileReader庫:

var fileReader = require('filereader');
global.FileReader = fileReader;

使用SpreadJS npm包

將SpreadJS安裝文件中的SpreadJS Sheets和ExcelIO包添加到項目中。

您可以通過右鍵單擊解決方案資源管理器的“ npm”部分并將它們添加到您的項目中,然后選擇“安裝新的NPM軟件包”。您應該能夠搜索“ GrapeCity”并安裝以下2個軟件包:

@grapecity/spread-sheets
@grapectiy/spread-excelio

將SpreadJS npm軟件包添加到項目后,正確的依賴關系將被寫入package.json:

{
"name": "spread-sheets-node-jsapp",
"version": "0.0.0",
"description": "SpreadSheetsNodeJSApp",
"main": "app.js",
"author": {
"name": "admin"
},
"dependencies":{
"@grapecity/spread-excelio": "^11.2.1",
"@grapecity/spread-sheets": "^11.2.1",
"FileReader": "^0.10.2",
"bufferjs": "1.0.0",
"mock-browser": "^0.92.14"
}
}

現在我們需要在app.js文件中引入它:

var GC =require('@grapecity/spread-sheets')
var GCExcel =require('@grapecity/spread-excelio');

使用npm軟件包時,還需要設置許可證密鑰:

GC.Spread.Sheets.LicenseKey ="<YOUR KEY HERE>"

在這個特定的應用程序中,我們將向用戶顯示他們正在使用哪個版本的SpreadJS。為此,我們可以引入package.json文件,然后引用依賴項以獲取版本號:

var packageJson =require('./package.json')
console.log('\n** Using Spreadjs Version"' + packageJson.dependencies["@grapecity/spread-sheets"] +'" **')

將Excel文件加載到您的Node.js應用程序中

點擊此處,,該文件包含了從用戶那里獲取數據。接下來,將數據放入文件中并導出。在這種情況下,文件是用戶可以編輯的狀態。

初始化工作簿和ExcelIO變量:

var wb = new GC.Spread.Sheets.Workbook();
var excelIO = new GCExcel.IO();

我們在讀取文件時將代碼包裝在try / catch塊中。然后,初始化變量“ readline”,讓您讀取用戶輸入到控制臺的數據。接下來,我們將其存儲到一個JavaScript數組中,以便輕松填寫Excel文件:

// Instantiate the spreadsheet and modifyit
console.log('\nManipulatingSpreadsheet\n---');
try {
var file = fs.readFileSync('./content/billingInvoiceTemplate.xlsx');
excelIO.open(file.buffer, (data) => {
wb.fromJSON(data);
const readline = require('readline');
var invoice = {
generalInfo: [],
invoiceItems: [],
companyDetails: []
};
});
} catch (e) {
console.error("** Error manipulating spreadsheet **");
console.error(e);
}

收集用戶輸入信息
Node.js + SpreadJS!從服務端生成Excel電子表格

上圖顯示了我們正在使用的Excel文件。我們可以在excelio.open調用中創建一個單獨的函數,以在控制臺中提示用戶需要的每一項內容。我們也可以創建一個單獨的數組,將數據保存到每個輸入后,然后將其推送到我們創建的invoice.generalInfo數組中:

fillGeneralInformation();
function fillGeneralInformation() {
console.log("-----------------------\nFill in InvoiceDetails\n-----------------------")
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
var generalInfoArray = [];
rl.question('Invoice Number: ', (answer) => {
generalInfoArray.push(answer);
rl.question('Invoice Date (dd Month Year): ', (answer) => {
generalInfoArray.push(answer);
rl.question('Payment Due Date (ddMonth Year): ', (answer) => {
generalInfoArray.push(answer);
rl.question('Customer Name: ',(answer) => {
generalInfoArray.push(answer);
rl.question('CustomerCompany Name: ', (answer) => {
generalInfoArray.push(answer);
rl.question('Customer Street Address:', (answer) => {
generalInfoArray.push(answer);
rl.question('Customer City, State, Zip (<City>, <State Abbr><Zip>): ', (answer) => {
generalInfoArray.push(answer);
rl.question('Invoice Company Name: ', (answer) => {
generalInfoArray.push(answer);
rl.question('Invoice Street Address: ', (answer) => {
generalInfoArray.push(answer);
rl.question('Invoice City, State, Zip (<City>, <State Abbr><Zip>): ', (answer) => {
generalInfoArray.push(answer);
rl.close();
invoice.generalInfo.push({
"invoiceNumber": generalInfoArray[0],
"invoiceDate": generalInfoArray[1],
"paymentDueDate": generalInfoArray[2],
"customerName": generalInfoArray[3],
"customerCompanyName": generalInfoArray[4],
"customerStreetAddress": generalInfoArray[5],
"customerCityStateZip": generalInfoArray[6],
"invoiceCompanyName": generalInfoArray[7],
"invoiceStreetAddress": generalInfoArray[8],
"invoiceCityStateZip": generalInfoArray[9],
});
console.log("General Invoice Information Stored");
fillCompanyDetails();
});
});
});
});
});
});
});
});
});
});
}

該函數被稱為“ fillCompanyDetails”,目的是收集有關公司的信息以填充到工作簿的第二張表中:

function fillCompanyDetails() {
console.log("-----------------------\nFill in CompanyDetails\n-----------------------")
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
var companyDetailsArray = []
rl.question('Your Name: ', (answer) => {
companyDetailsArray.push(answer);
rl.question('Company Name: ', (answer) => {
companyDetailsArray.push(answer);
rl.question('Address Line 1: ',(answer) => {
companyDetailsArray.push(answer);
rl.question('Address Line 2: ',(answer) => {
companyDetailsArray.push(answer);
rl.question('Address Line3: ', (answer) => {
companyDetailsArray.push(answer);
rl.question('AddressLine 4: ', (answer) => {
companyDetailsArray.push(answer);
rl.question('Address Line 5: ', (answer) => {
companyDetailsArray.push(answer);
rl.question('Phone: ', (answer) => {
companyDetailsArray.push(answer);
rl.question('Facsimile: ', (answer) => {
companyDetailsArray.push(answer);
rl.question('Website: ', (answer)=> {
companyDetailsArray.push(answer);
rl.question('Email: ', (answer) => {
companyDetailsArray.push(answer);
rl.question('Currency Abbreviation: ', (answer) => {
companyDetailsArray.push(answer);
rl.question('Beneficiary: ',(answer) => {
companyDetailsArray.push(answer);
rl.question('Bank: ', (answer) => {
companyDetailsArray.push(answer);
rl.question('Bank Address: ', (answer) => {
companyDetailsArray.push(answer);
rl.question('Account Number: ', (answer) => {
companyDetailsArray.push(answer);
rl.question('RoutingNumber: ', (answer) => {
companyDetailsArray.push(answer);
rl.question('Make Checks Payable To: ', (answer) => {
companyDetailsArray.push(answer);
rl.close();
invoice.companyDetails.push({
"yourName": companyDetailsArray[0],
"companyName": companyDetailsArray[1],
"addressLine1": companyDetailsArray[2],
"addressLine2": companyDetailsArray[3],
"addressLine3": companyDetailsArray[4],
"addressLine4": companyDetailsArray[5],
"addressLine5": companyDetailsArray[6],
"phone":companyDetailsArray[7],
"facsimile": companyDetailsArray[8],
"website":companyDetailsArray[9],
"email": companyDetailsArray[10],
"currencyAbbreviation":companyDetailsArray[11],
"beneficiary": companyDetailsArray[12],
"bank":companyDetailsArray[13],
"bankAddress": companyDetailsArray[14],
"accountNumber": companyDetailsArray[15],
"routingNumber": companyDetailsArray[16],
"payableTo": companyDetailsArray[17]
});
console.log("Invoice Company Information Stored");
console.log("-----------------------\nFillin Invoice Items\n-----------------------")
fillInvoiceItemsInformation();
});
});
});
});
});
});
});
});
});
});
});
});
});
});
});
});
});
});
}

Node.js + SpreadJS!從服務端生成Excel電子表格

現在我們已經有了用戶的基本信息,我們可以集中精力收集單個項目,并另命名為“ fillInvoiceItemsInformation”函數。在每個項目執行之前,我們會詢問用戶是否要添加一個項目。如果他們繼續輸入“ y”,那么我們將收集該項目的信息,然后再次詢問直到他們鍵入“ n”:

function fillInvoiceItemsInformation() {
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
var invoiceItemArray = [];
rl.question('Add item?(y/n): ', (answer) => {
switch (answer) {
case "y":
console.log("-----------------------\nEnter ItemInformation\n-----------------------");
rl.question('Quantity: ',(answer) => {
invoiceItemArray.push(answer);
rl.question('Details: ',(answer) => {
invoiceItemArray.push(answer);
rl.question('UnitPrice: ', (answer) => {
invoiceItemArray.push(answer);
invoice.invoiceItems.push({
"quantity":invoiceItemArray[0],
"details": invoiceItemArray[1],
"unitPrice": invoiceItemArray[2]
});
console.log("ItemInformation Added");
rl.close();
fillInvoiceItemsInformation();
});
});
});
break;
case "n":
rl.close();
return fillExcelFile();
break;
default:
console.log("Incorrectoption, Please enter 'y' or 'n'.");
}
});
}

填入您的Excel文件

在收集所有必需的用戶信息后,我們可以將其填入到Excel文件中:

function fillExcelFile() {
console.log("-----------------------\nFilling in Excelfile\n-----------------------");
fillBillingInfo();
fillCompanySetup();
}
function fillBillingInfo() {
var sheet = wb.getSheet(0);
sheet.getCell(0, 2).value(invoice.generalInfo[0].invoiceNumber);
sheet.getCell(1, 1).value(invoice.generalInfo[0].invoiceDate);
sheet.getCell(2, 2).value(invoice.generalInfo[0].paymentDueDate);
sheet.getCell(3, 1).value(invoice.generalInfo[0].customerName);
sheet.getCell(4, 1).value(invoice.generalInfo[0].customerCompanyName);
sheet.getCell(5, 1).value(invoice.generalInfo[0].customerStreetAddress);
sheet.getCell(6, 1).value(invoice.generalInfo[0].customerCityStateZip);
sheet.getCell(3, 3).value(invoice.generalInfo[0].invoiceCompanyName);
sheet.getCell(4, 3).value(invoice.generalInfo[0].invoiceStreetAddress);
sheet.getCell(5, 3).value(invoice.generalInfo[0].invoiceCityStateZip);
}
function fillCompanySetup() {
var sheet = wb.getSheet(1);
sheet.getCell(2, 2).value(invoice.companyDetails[0].yourName);
sheet.getCell(3, 2).value(invoice.companyDetails[0].companyName);
sheet.getCell(4, 2).value(invoice.companyDetails[0].addressLine1);
sheet.getCell(5, 2).value(invoice.companyDetails[0].addressLine2);
sheet.getCell(6, 2).value(invoice.companyDetails[0].addressLine3);
sheet.getCell(7, 2).value(invoice.companyDetails[0].addressLine4);
sheet.getCell(8, 2).value(invoice.companyDetails[0].addressLine5);
sheet.getCell(9, 2).value(invoice.companyDetails[0].phone);
sheet.getCell(10, 2).value(invoice.companyDetails[0].facsimile);
sheet.getCell(11, 2).value(invoice.companyDetails[0].website);
sheet.getCell(12, 2).value(invoice.companyDetails[0].email);
sheet.getCell(13, 2).value(invoice.companyDetails[0].currencyAbbreviation);
sheet.getCell(14, 2).value(invoice.companyDetails[0].beneficiary);
sheet.getCell(15, 2).value(invoice.companyDetails[0].bank);
sheet.getCell(16, 2).value(invoice.companyDetails[0].bankAddress);
sheet.getCell(17, 2).value(invoice.companyDetails[0].accountNumber);
sheet.getCell(18, 2).value(invoice.companyDetails[0].routingNumber);
sheet.getCell(19, 2).value(invoice.companyDetails[0].payableTo);
}

為了防止用戶添加的數量超過工作表最大行數,我們可以在工作表中自動添加更多行。在設置數組中表單中的項目之前,默認添加行:

function fillInvoiceItems() {
var sheet = wb.getSheet(0);
var rowsToAdd = 0;
if (invoice.invoiceItems.length > 15) {
rowsToAdd = invoice.invoiceItems.length - 15;
sheet.addRows(22, rowsToAdd);
}
var rowIndex = 8;
if (invoice.invoiceItems.length >= 1) {
for (var i = 0; i < invoice.invoiceItems.length; i++) {
sheet.getCell(rowIndex,1).value(invoice.invoiceItems.quantity);
sheet.getCell(rowIndex,2).value(invoice.invoiceItems.details);
sheet.getCell(rowIndex,3).value(invoice.invoiceItems.unitPrice);
rowIndex++;
}
}
}

將文檔內容從Node.js導出到Excel文件

在工作簿中填寫完信息后,我們可以將工作簿導出到Excel文件中。為此,我們將使用excelio打開功能。在這種情況下,只需將日期輸入文件名即可:

function exportExcelFile() {
excelIO.save(wb.toJSON(), (data) => {
fs.appendFileSync('Invoice' + new Date().valueOf() + '.xlsx', newBuffer(data), function (err) {
console.log(err);
});
console.log("Export success");
}, (err) => {
console.log(err);
}, { useArrayBuffer: true });
}

完成的文件將如下所示:

Node.js + SpreadJS!從服務端生成Excel電子表格

本文內容源自


標簽:

本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@ke049m.cn

文章轉載自:

為你推薦

  • 推薦視頻
  • 推薦活動
  • 推薦產品
  • 推薦文章
  • 慧都慧問
相關產品
控件
  • 產品功能:文檔管理
  • 源 碼:非開源
  • 產品編號:13558
  • 當前版本:v18.0 Update1 [銷售以商家最新版為準,如需其他版本,請來電咨詢]
  • 開 發 商: GrapeCity 正式授權
  • ">SpreadJS

    面向企業級應用開發、基于HTML5的純JavaScript電子表格控件。

    控件
  • 產品功能:文檔管理
  • 源 碼:非開源
  • 產品編號:13819
  • 當前版本:v12.1 [銷售以商家最新版為準,如需其他版本,請來電咨詢]
  • 開 發 商: GrapeCity 正式授權
  • ">SpreadJS在線表格編輯器

    SpreadJS在線表格編輯器是類似在線Excel功能和外觀的表格編輯程序,是SpreadJS桌面設計器的在線版本,并且提供了源代碼,用戶可以任意擴展自定制。

    掃碼咨詢


    添加微信 立即咨詢

    電話咨詢

    客服熱線
    023-68661681

    TOP
    利記足球官網(官方)網站/網頁版登錄入口/手機版登錄入口-最新版(已更新) 真人boyu·博魚滾球網(官方)網站/網頁版登錄入口/手機版登錄入口-最新版(已更新) 最大網上PM娛樂城盤口(官方)網站/網頁版登錄入口/手機版登錄入口-最新版(已更新) 正規雷火競技官方買球(官方)網站/網頁版登錄入口/手機版登錄入口-最新版(已更新) 雷火競技權威十大網(官方)網站/網頁版登錄入口/手機版登錄入口-最新版(已更新) boyu·博魚信譽足球官網(官方)網站/網頁版登錄入口/手機版登錄入口-最新版(已更新) 權威188BET足球網(官方)網站/網頁版登錄入口/手機版登錄入口-最新版(已更新) 正規188BET足球大全(官方)網站/網頁版登錄入口/手機版登錄入口-最新版(已更新) 18禁成人黄网站免费观看 | 国产操女人| 国产成人无码a区在线观看视 | 国产精品嫩草国产精品嫩草 | 国产做国产爱免费视频 | 国产视频一区二区三区免费观看 | 国产古代一级毛片 | 国产成人免费影片 | av天堂亚洲mm | 国产aⅴ精品福利一区二区三区 | 国产精品一区二区三区精 | av网址国产在线看 | 2025国产精品香蕉在线观看 | 成人精品午夜在线观看 | 国产妇女馒头高清 | 国产成人剧情av麻 | 国产夜色精品一区二区在线 | 国产三级高清视频在线观看 | 国产麻豆精品一区二区三区 | 97人人妻在线视频 | 69视频福利一区二区三区 | 国产精品萌白酱永久在线观看 | 国产精品香蕉自产拍在线观看 | 9191国语精品高清在线 | 国产午夜精品理论片小yo奈 | 风韵少妇性饥渴推油按摩视频 | 国产午夜小视 | 国产精品国产三级国v麻豆 国产精品国产三级国产 | 91性高湖久久久久久久久 | 国产亚洲午夜高清国产拍精品 | av无码免费在线一区二区三区 | 成人无码激情视频在线观看 | av网站不卡高清在 | 国产在线手机喷潮视频 | 国产激情视频一区二区三区 | 精品亚洲国产成人蜜臀av | 国产精品免费网站 | 国产成人无码一区二区在线播放 | 精品无码成人片一区二区98 | 2025国产麻豆剧 | 国产无套视频在线观看香蕉 | 国产午夜免费看黄片 | 精品国产丝袜黑色高跟鞋 | 国产成人精品日本亚洲77美色 | 国产品无码一区二区三区在线 | 国产福利视频一区二区三区 | 国产精品怕怕怕免费视频大全 | 国产在线观看精品 | 国产精品一区福利 | 成人国产一区二区三区久久久 | 国产一区精品一区无码 | 国内偷拍一区二区中文字幕av线上 | 国产精品青草国产一区二区 | 国产精品六区久久综合亚洲av | 国产在线观看91精品2025 | 成人精品丝袜在线一区 | 国产av无码专区影视 | 91在线无码精品密蜜桃 | 国产福利在线视频大二 | 精品白丝av网站在线观看 | 精品国产国产自在线观看 | 国产成a人片在线观看 | 18禁无遮挡无码网站免费 | 国产亚洲成aⅴ人片在线观看麻 | 国产日韩欧美东南亚在线 | 国产成人免费影片在线观看 | 国产真人一级a爱视频免费看 | 白丝乳交内射一二三区 | av网站在线观看亚洲 | 国产在线高清不卡免费播放 | 国产成人精品免费久久久久 | 精品无码国产不卡在线观看 | 成人年无码av片在线观看 | 国产av福利久久精品无码动漫 | 91亚洲精品国产自 | 国产成人精品999 | 国产精品无码久久综合网 | 高潮流白浆潮喷 | 国产裸舞表演裸体写真一区二区 | 国产精品亚洲伦理在线 | 国产在线无码观看 | a级一级黄色片 | 国产日韩av在线播放 | 国产99er66在线视频 | 丰满白嫩尤物一区二区 | 精品淑女少妇αv久久免费 精品熟妇av免费久久久久 | 精品无码av不卡一区二区三区 | 国语对白一区二区三区 | 国产a网欧美午夜性 | 国产成人精品午夜福利 | 国产亚洲精品久久久久无码 | av天堂影音 | 国产一区二区三区精品99久久 | 国产一区二区精品尤物 | 国产a级毛片免费视频一区二区 | 国产免费一区二区三区香蕉精 | 国产这里有精品视频 | 国产97香蕉视频在线看 | 国产精品va在线观看老妇女 | 国产成年人免费黄色视频 | 91精品第一国产综合精品 | 岛国无码精 | 韩国午夜理伦三级在线观看仙踪林 | 国产亚洲精aa在线观看see | 国产成人精品免费青青草原 | va一区二区三区 | 精品久久免费一区二区三区四 | 91在线视频国产 | av免费观看 | av天堂午夜精品一区 | 国产中文字幕在线播放 | 国产精品成人一区二区三区吃奶 | 国产毛a片久久久久久无码 国产毛多水多高潮高清 | 国产精品一区二区国产馆蜜桃 | 丰满爆乳无码一 | 99久久精品一区二 | 国产精品一区二区久久久久久 | 国产精品免费久久久久电影网 | 国产aⅴ无码专区亚洲av | 国产亚洲综合网曝门系列 | 国产成人在线播放视频 | 成在人线av无码免费动态图 | 国产做a爱视频免费软 | 国产精品碰碰现在自在 | 国产偷摄中国推油按摩富婆 | 国产成人综合亚洲欧洲 | 国产剧情麻豆mv在线观看 | 国产一区视频在线免费观看 | 国产成人亚洲精品无码车a 国产成人亚洲精品无码青app | 国产精品国产福利国产秒拍 | 69热视频在线观看免费自拍 | 不卡国产福利在线观看 | av午夜片在线观看 | 国产精品专区 | 激情无码人妻又粗又大 | 高潮抽搐白浆视频在线观看 | 国产尤物网站尤物在线看 | 91亚洲欧美一区二区三区 | 国产无套内射普 | 国产高清无码免费 | 国产在线观看av一 | 国产精品三级高清在 | 国产欧美日韩免费一区二区 | 国产午夜福利精品理论片在线播放 | 国产成人一区二区三区免费视频 | 国产精品亚洲综合色区韩国 | 爆出白浆人人 | 91大神在线精品视频一区 | 国产一区二区在线视频播放 | 国产福利区一 | 国产成人精品高清 | 国精品无码一区二区三区左线 | 国产成人综合日韩精 | 国产熟女级毛片 | 国产极品福利自在线观看 | 精品国产制服丝袜一区二区 | ā片在线观看免费看无码 | 国产毛片18片毛一级特黄 | 成人无码www免费视频樱花 | av一区二区三区传媒 | 18禁午夜| 国产白丝无码免费视频 | 国自产一线在区 | 高清中文字幕在线 | 国产成人18黄网 | 国产va亚洲va在线va | 国产一区二区三区美女 | 精品国产拍拍拍无遮挡 | 国产91九色在线 | 爆乳熟妇一区二区三区霸乳 | 丰满多水的寡妇毛片免费看 | 国产偷窥熟女精品视频 | 91大屁股国产在线 | 国产精品无码一区二区三区不卡 | 海角乱伦蝌蚪永久甘蔗 | 国产高清不卡无码视频 | 大香蕉日韩一区二区三区 | 国产欧美视频一区二区 | 99久久国产综合精品五月天 | 国内视频一区二区三区 | av亚洲精品毛片av | 国产成人精品免费青青草原 | 精品国产午夜理论片不卡 | 精品国产一区二区三区无码 | 国产一区二区在线观看动漫 | 成人国产一区二区精品小说 | 国内拍自产精品视频在线观看 | 国产一区亚洲专区 | 国产成人aa视频在线观看 | 国产一区二区无码专区 | 精品国产免费人成电影在线看 | 91看片淫黄 | 国产成人综合精品日韩 | 国产精品无码一区二区三区在 | 国产紧身裤三级在线视频 | 国产精品成人网站在线观看 | 国产aⅴ一二三区无码视频 国产aⅴ一区 | 91尤物手机在线观看 | 高清久久久久久久久 | 国产精品成人影院在 | 国产精品毛片va | 国产午夜人做人免费 | 国产精品女同一区二区在线 | 国产成人综合在线观看网站 | 国语对白久久精品一区 | 国产真人a级高潮片 | 国产精品白浆 | 成人免费观看一区二区 | 岛国aⅴ无码免费无禁网站 岛国av免费在线观看 | 国产成人精品一区二区a片带套 | 精品久久久久久亚洲偷窥一区 | 国产无码免费 | 国产成人精品亚洲精品 | 91精品国产色综合久久久蜜臀 | 国产精品无套 | 国语自产偷拍精品视频蜜芽 | 国产麻豆天美果冻无码视频 | 国产成人综合久久精品 | 精品一区二区三区波多野结衣电影 | 国产免费高清视频在线观 | 国内精品无码视频在线 | 精品亚洲成av人片在线观看ww | 91人妻精品一区二区三区蜜桃 | 高清中文字幕在线a片 | 国产精品嫩草影院一二三区 | 91精品人妻一区二区三区浪潮 | 国产亚洲制服免视频 | 国外欧美一区另类中文字幕 | 精品国产av无码一区二区三区 | 99国产女人高潮抽搐喷浆视频 | 国产精品大屁股白桨一区二区 | 91久久久久精品无码专区 | h无码精品动漫在线观看免费下载 | 国产精品无码日韩欧 | 精品无码一区在线观看 | 国产成人aⅴ尤物国产 | 激情视频在线观看国产一区 | 国产高潮抽搐在线观看 | 国产精品无码手机在线 | 国产成人av大片大片在线 | 国产午夜无码视频免费网站 | 国产高跟丝袜 | 激情欧美一区二区中文字幕 | 激情高潮毛片免费视频 | 精品人妻va出轨 | 成人无码精品一区二区三区 | 国产精品欧美日韩视频一区 | 国产精品特级露脸 | 国产日韩a视频在线播放视频 | 国产精品亚洲精品观看不卡 | 91福利专区| 国产美女爽到喷水视频 | 国产精品国偷自产在线 | 国产精品丝袜综合区另类 | 国产高潮成人免费视频在线观看 | 91人妻在线综合 | 国产精品乱码一区二区三区 | 国产在线精品一区二区三区直播 | 国产三级精品美女三级 | 国产欧美日韩视频怡春院 | 精品高清国产一区二区三区四区 | 国产在线成人a | 国产精品午夜爆乳美女视频 | 国产精品香蕉在线一区二区 | 国产欧美日韩视频怡春院 | 国产成人高清激情视频在线观看 | 99国产精品高清一区二区二区 | 国产精品老熟女视频一区二区 | 国产最爽的乱婬视频国语对白 | 精品视频一区二区在线观看 | 国产欧美日韩一区二区加勒 | 91popr国产在线观看 | 高清亚洲精品一区二区三区 | 国产免费456 | 国产午夜精品理论 | 国产成人精品久久一区二区小说 | 囯产精品视频一区二区三区99 | 国产自产视频一区二区三区 | 国产午夜毛片v一区二区三区 | 国产亚洲欧美一区久久国产亚洲欧 | 福利一区福利二区微拍 | 91成人午夜性a | 国产精品va在线 | 91se在线观看一区二区 | 国产在线拍偷自揄拍无码 | 国产精品成人在线播放免费 | 国产高清精品一区二区 | 国产在线精品无码 | 国产精品自产拍在线网站 | 国产精品高清一区二区三区久久 | 国产精品视频一区二区噜噜 | 国产精品亚洲精品影院 | 国精产品一区一区三区免费视频 | 国产av大陆精品一区二区三区 | 国产高清重口变态sm在线观看 | 国产极品粉嫩在线播放 | 国产精品无码一区二区三区毛 | 国产成人综合在线视频 | 国产亚洲欧美在线观看一区 | 国产精品成人扳**a毛片 | 99国产精品无码久久久久 | 韩国少妇激三级做爰在线观看 | 国产视频在线观看福利 | 国产成本人片免费av | 国产麻豆精品一区二区 | 国产成人精品午夜二三区波多野 | 国产毛片一区二区三区精品 | 国产一区私人高清影院 | 3d动漫精品一区视频 | av无码无在线观看 | 国产精品私密保养 | 精品国产区一区二区三区在线观看 | 99久久精品一区二区毛片吞精 | 国产午夜精品一区二区三区漫 | 国产一区二区激情戏 | 福利一区二区三区不卡视频 | 91精品国产闺蜜国产在线 | av以及一片无码中文字幕 | 国产精品va在线观看无码电影 | 国产成人女人在线观看 | 精品日韩欧美一区在线播放不 | 国产精品人人做人人爽人人添 | 国产精品亚洲专区无码影院 | 精品无码一区二区三区爱 | 国产成人精选在线观看不卡 | 国产爆初菊在线观看免费视频 | av鲁丝一区鲁丝二区鲁丝三区 | 国产经典av三 | 精品国产自在精品国产精 | 国产无套码aⅴ在线观看在线播放 | 18禁无遮挡啪啪无码网站性色 | 国产三级在线观看免费 | 国产疯狂伦交大片 | 精品人妻无码一区二区三区99 | 精品国产免费第一区二区三区日 | 国产成人久久精品激情91 | 国产尤物在线视精品在亚洲 | 91久久久久国产一区二区 | 精品高潮呻吟久久av无码 | 国产99精品视频免费观看 | 国产一区二区三区草草影院 | 国产盗摄对白在线观看 | 国产成人综合亚洲无码中字 | 国产麻豆精品精东影业av网站 | 国产福利区一 | 91精品国产一区二区三区免费 | 2025国产在视频线自在拍 | 国产精品无码一本 | 精品国产免费人成电影在线看 | 成人午夜视频在线观看免费 | 91热久久免费频精品无码69 | 国产亚洲漂亮白嫩美女在线 | 国产精品欧美视频另类专区 | ts另类国产人妖视频一区二区 | 国产精品女a色欲av色欲老师 | 成人日韩欧美在线视频播放 | 2025亚洲综合一区二区 | 成人精品日韩一区二区 | 国自产拍视频在线网站 | 国产成人特级毛片无码视频二 | 国产精品成人免费视频一区 | 国产精品国产三级国产av中文 | 精品五月天六月花一区二区 | 国内熟妇二区三区在线 | 91精品啪国产在线观看免费 | 国产黄色麻豆视频 | 91久久精品亚洲中文字幕无码 | 国产一区二区三区免费高清在线 | 国产精品欧美一区二卡 | 国产aⅴ精品一区二区三区色成熟 | 91一区二区在线观看精品 | 国产精品爽爽在线观看 | av天堂 | 国产欧美亚洲日韩久久福利 | 国产精品三级 | 国产精品大片天天看片 | 1024亚洲精品国产 | 成人精品视频在线观看 | 国产精品午夜未成人免费观看 | 国产av无码专区亚洲av毛片 | 韩国精品一区二区三区在线观看 | 国产美女全黄a一级视 | 国产在线五月综合婷婷 | 高清精品无码乱 | 成人深夜视频在线观看 | 国产精品欧美一区久久 | 国产成人一区二区三区免费视频 | 国产91无码网站在线观看 | 91精品无码一区二区三区色噜噜 | 国产欧美va| 91久久电 | 99久久婷婷国产综合精品 | 国产成人综合亚洲av网站 | 国产精品成人自产拍在线观看0 | 成人a影片在线观看 | 国产一二三区在线观看 | 成人精品日本亚洲电影院电影 | 国产aⅴ一区二 | 91精品福利视频一区 | 精品国产亚洲爽啪在线观看 | 国产盗摄91精品一区二区三区 | 国产高清久久无码视频 | 成人免费一区二区三区 | 国产成人精品无码片区在线观看 | 国产成人久久精选无码 | 国产高清乱码又大又圆 | 国产一级av女优毛片 | 国产三级在线观看免费 | 国产精品白浆无码 | 成人午夜亚洲精品无码区 | 国产在线观看www污污污 | 国产成人免费a | 国产精品爽爽va在线观看网站 | 国产一区二区在线免费观看 | 99久久精品无码一区二区毛片 | 黑人午夜性猛交久久久 | 911精品国产一区二区在线 | 国产福利酱在线观看萌白酱jk | av免费网址在线 | 国产一人人看在线视频 | 不卡无码精品在线观看 | 国产精品一级毛片 | 91福利网| 国产精品毛片一区二区三区 | 国产一区二区三区韩国女主播 | 国产成人最新毛片基地 | 国产精品亚洲av毛片一区二区 | 国产精品成人黄色片 | 国产激情一区二区三区成人 | 成人午夜福利免费专区无码 | 国产无套护士在线观看 | 国产高清精品福利私拍国产 | 精品国产亚洲第一区二区三区 | 国产成人羞羞电影 | 精品麻豆国产一区 | av片免费在线观 | 91黑丝大长腿你视频里见过我 | 国产二区三区毛片 | 爆乳亚洲一区二区 | 99精品无人区乱 | 国产a精彩 | 国产成人无码免费 | 国产av一区二区三区 | 国产女人喷水视频在线观看 | 国产区亚洲区欧美区 | 国产精品一级毛片 | 91福利国产在线播放午夜 | 2025精品国产自在观看 | 国产午夜亚洲精品不 | 国产精品午夜自在在线精品 | 精品无码人妻av一区二区pro | 国产高清一区视频在线播放 | 国产精品亚洲欧美日韩区 | 国产三级adc全集在线观看 | 囯产精品久久 | a级免费观看毛片 | 国产后式视频无码在线 | 国产成人调教在线视频 | 国产精品青草久久福利不卡 | 2025国内精品久久久久精品 | 国产精品一区12p | 国产一区二区三区视频网站 | 国产欧美日韩在线一区二区激情 | 国产高清国内精品福利色噜噜 | 99久久精品午夜一区二区 | 国产黄色a级 | 精品久久久久久天堂色毛毛 | 国产精品私密 | 高潮一区二区三区在线 | 国产一区二区三区亚洲精选 | 东京热无码中文字幕av专区 | 国产大片欧美精品 | 成人免费无码大片a毛片抽 成人免费无码大片a毛片抽搐 | 国产毛片一级福利 | 国产成人黄色网站视频在线观看 | 国产午夜人免费视频成69 | 国产一区高清视频 | 97人妻免费在线视频中文 | 国产一区二区三区成人欧美日韩在 | 国产欧美日韩在线视频 | 国产综合精品久久久久成人影 | 国产成人av三级在线观看 | 99国产在线看片 | 国产999视频在线播放 | 91av在线观看国产日本视频 | 国产真实夫妇交换视频 | 国产91成人在在线播放 | 国产一区二区四区在线观看 | 国产一区亚洲一区在线观看 | 国产成人福利视频在线观看 | 国产91久久久久久 | 国产在线观看国自产偷精品产拍 | av每日更新 | 国产精品毛片av一级 | 91麻豆国产香蕉久久精品 | 99久久国内精品成人免费 | av无码观 | 国产精品欧美一区二区二区二区 | 国产无套护士丝袜在线观看 | 国产精品一区在线观看尤物tv | 91成人国产在线观看免费 | 91麻豆va国产精品久久久久久 | 2025国产最新盗摄在线播放 | 国产aⅴ精品| 2025国产成人精品久久 | 精品国产福利在线观看不卡 | 99国产乱高清成免费视频 | av无码不卡在线观看免费 | 国产麻豆成人传媒免费观看 | 成人国产一区二区精品小说 | 国产成人精品三 | 国产97人人超碰caoprom | 国产亚洲精久久久久久无码浪潮 | 99久久亚洲综合精品成人 | 国产无套粉嫩白浆在线精品 | 精品国产av无码久久久不卡 | 91麻豆精品激情在线 | 国产一区二区三区高潮老年人 | 国产无码高潮在线 | 国产a网欧美午夜性 | 国产一区二区丝袜美腿在线 | 国产成a人亚洲精v品无码 | 国产超碰97人人在线 | 国产精品午夜寂寞视频 | 国产爆乳无码一区二区麻豆 | 国产日韩精品在线播放 | av免费观看网站网址 | 91久久人妻精品中文无码 | 国产精品日韩精品久久蜜桃 | 99久久精品免费观看国产 | 国产a级毛片久久影院 | 国产午夜福利不卡在线观看 | av站天堂资 | 国产日韩精品久久久一区二区 | 国产欧美日韩亚洲更新 | 国产黄色成人一级片 | 国产成人精品一区二区 | 国产在线精品一区二区中文 | 国产精品成人免费视频网站 | 国产丝袜女 | 精品国产自在91欧美日韩 | 91精品人妻一区二区 | 91麻豆精品国产电影 | 国产福利微拍精品一区二区 | 国产成人精品一区二区三区无码 | 国产欧美日韩视频网站 | 91高清国产在线观看 | 国产91精品黄网在线观看 | 国产白浆在线视频网 | 国产果冻传媒精品a片在线 国产果冻豆传媒麻婆电影 国产果冻豆传媒麻婆精东 国产韩国精品一区二区三区 | 国产一区二区三区成人久久片 | 国产精品视频白浆 | 国产av无码专区亚洲aⅴ蜜芽 | 国产精品精品国内自产拍 | 国产精品日韩欧美亚洲二区 | 国产成人无码∨a在线观看 国产成人无码18禁午夜福利p | 精品久久久久久无码中文字幕一区 | 国产微拍精品一区二区 | 国产午夜精品毛片不卡 | 精品视频国产狼人视频 | 国产自制在线观看视频 | 岛国精品一区免费视频在线观 | 国产视频永久a级毛 | 国产精品一二三区久久狼 | 国产午夜亚洲精品不卡福利 | 国产精品美乳在线观看 | av国産精品毛片一区二区在线 | 成人欧美一区二区 | 国产日韩欧美一区二区三区视频 | 国产成人精品必看 | 国产69精品久久久久久99尤物 | 国产精品成人av片免费看 | 国产精品免费视频网 | 国产成人mv在线播放 | 爆乳少妇在办公室在线观看 | 国产无码电影在线观看 | 精品无码国产一区二区三区avw | av中文字幕潮喷人妻系列 | 国产在线观看一级 | 国产野战无套av毛片 | 国产精品白浆在线观看无码专区 | 国产一区二区三区高清 | 国产精品无码一区二区在线看 | a级毛片无码免费久久真人软件 | 精品视频一区二区三区 | 国产午夜手机精彩视频 | 国产欧美另类久久久精品图片 | a极毛片一区二区三区免费看 | 高潮流白浆免费观看 | 国产不卡在线观看免费视频 | 国产亚洲日韩欧美自拍另类 | 91久久精品国产免费一区 | 国产成人毛片 | 成人播放日韩在线观看视频 | 国产精品麻豆va在线播放 | 国产福利导航一区二区三区 | 福利一区二区三区视频午夜观看 | 国产极品粉嫩在线观看的软件 | 国产成人亚洲精品无码h在线 | 91精品欧美一区二区综合在线 | 国产麻花豆剧传媒精品mva | 精品亚洲一区二区三区在线 | 99精品久久精品一区二区 | 国产激情一区二区三区四区 | 成人亚洲网站在线 | 国产免费无码网站在线观看 | 国产人妖hd高清完整版 | 国产精品白丝av网站在线观看 | 国产成人午夜福利在线观看视频 | 国产精品一品道加勒比 | 国产精品无码一二区免费 | 国产一区二区三区免费高清在线 | 国产av果冻传媒在线观看 | 国产精品白丝久久av网站 | 国产麻豆精品一区二区三区 | 国产精品成年片在线观看 | 国产精品女同在线调教 | 91精品国产午夜 | 果冻传媒一区 | 国产妇女乱码一区二区三区 | 国产精品密蕾丝视 | 国产无码免费激 | 高清亚洲美女一区 | 国产成人亚洲日韩欧美久久久 | 国产丝袜美女一区二区三区 | 精品无码秘人妻一区二区 | av在线播放你懂的 | 国产一区私人高清影院 | 国产91一区二这在线播放 | 超大乳首授乳一区二区 | 国产一区二区中文 | 国产午夜精品在线 | 国产三级国产 | 精品无码国产一区二区三区在线看 | 国产在线精品一区在线观看首页 | 国产高清女同学巨大乳在线观 | 国产在线视频自拍 | 国产一级毛片国语版有字幕 | 国产a日韩a | 超大乳抖乳露双乳呻吟电影 | 国产精品爽爽va在线观看无码 | 国产成人片无码视频在线观看 | 国产精品经典三级一区 | 国产一区二区视频免费 | 国产麻豆精品久 | 国产一区二区三区日韩精品欧美 | 国产成人精品日本亚洲77美色 | 国产av高清精品久久 | 国产精品成人小电影在线观 | 国产日韩精品一区二区三 | 国产aⅴ天堂亚洲国产av | 成人国产三级视频在线观看 | 国产精品国产国产aⅴ | 国产成人无码a区在线观看导航 | 国产午夜无码片免费 | 精品国产aⅴ一区二区三区4区 | 国产亚洲一区二区三区不卡 | 海角社区视频百度云资源 | 91嫩草亚洲精品 | 国产精品盗摄!偷窥盗 | 成人精品一区二区三区电影黑人 | 成年女人毛片免费观看不卡 | 国产精品无码永久免费888 | 国产精品成人观看视频国产奇米 | 黑人巨大精品欧美一区二区 | 黄色a级国产免费大片 | 韩国美女丝袜一区二区 | 精品亚洲av无码国产一二区在线 | 国产精品麻豆一区二区三区 | 国产欧美视频一区二区不卡 | 高清国产一区二区三区在线 | 国产成人理论片在线观看 | 国偷自愉自产产区91区 | 18精品久久久无码午 | 18禁黄无遮挡免费网站动漫 | 国产成人免费高清激情明星 | 国产区精品系列在线观看不卡 | 18禁成人黄网站免费观看 | 91麻豆国产级在线 | 国产真人无码作爱视频网站 | 成人午夜福利免费无码视频 | 国产精品一区免费视频播放 | 国产一区二区精品高 | 国产美女视频一区二区三区 | 成人精品久久久久免费精品久 | 97午夜国产亚洲精品 | 91久久人澡 | 国产免费永久精品无码 | 国产美女精品自在线拍幼 | 国产午夜成人精品视频app | 国产综合亚洲欧美另类久久久精品 | 国产麻豆一区二区三区在线蜜桃 | 国产精品免费人成网站 | 精品一区二区高潮 | 国产成人a在线观看网站站 国产成人a在一区线观看高清 | 97人妻碰碰碰爽爽爽 | 国产精品国产精品国产专区 | 不卡中文一二三区 | 国99精品无码一区二区三区 | 国产精品亚洲专区在线观 | 国产av一区二区三区无码野 | 国产av无码精品 | 精品偷自拍另类在线观看 | 国产一区二区日韩欧美在线 | 91福利网址 | 国产精品国产三 | 91大神在线精品网址 | 国产黄片第一区二区三区 | 国产精品va在线观看无码电影 | 国产在线观看在小区区野战 | 国产精品大 | 丰满人妻一区二区三区视频 | 国产精品成人免费福 | av无码中文一区二区三区四区 | 国产精品麻豆羞羞答答 | 加勒比系中文字幕无码 | 国产野战无套a | 99久久久无码国产精品不卡 | 国产成人av无码精品动漫麻豆 | 99国产高清视频在线观看 | 国产自偷频在线观看 | 国产区精品 | 精品少妇人妻av免费 | 国产交换配乱婬视频 | 精品久久无码视频一区 | 丰满人妻熟妇乱又仑精品 | 国产精品嘿咻嘿咻在线 | 精品偷自拍另类在线观看 | 国产一区二区三区四区五区视频 | av黑人手机版天堂网 | 成人午夜无码国产 | 97人妻无码免费视频一区 | 91精品国产乱码在线观看 | 国产欧美日韩综合一区在线播放 | 国产欧美日韩一区二区三区四区 | 国产一区二区中文字幕 | 国产午夜精品久久久久九九电影 | 国产成人久久激情91 | 2025麻豆福利午夜久久 | 国产免费午夜a无码v视频 | 高清不卡一区二区三区 | 国模毛婷黑下木耳150图片 | 国产午夜福利精品偷伦91 | 国产激情无码视频一区二区三区 | 国产尤物亚 | 国产黄片第一区二区三区 | 国产成人精品亚洲日本专区61 | 91毛片下载网站 | 国产亚洲视频中文字幕不卡 | 国精产品一品二品国精品69x | 99精品中文字幕在线推荐 | av三级片在线观看的 | 国产精品淫水呻吟女王调教 | av毛片在线永久免费 | 国产嫩草视频在线观看 | 国产无套视频在线观看香蕉 | 2025国产成人福利精品视频 | 国产911视频在线 | 国产精品秘入口一区二区 | 国产在线视频国产永久 | 东京热天堂人人操人人爱人人看 | 国产一级毛片精品完 | 成人国产精品一区二区视频 | 东京热一本到里综合不卡 | 国产三级精品三级国产 | aa片在线观看视频在线播放 | 国产熟女一区二区 | 99国产精品视频 | 国产精品免费精品视频 | 国产精品一区二区三区在线播放 | 丰满熟妇人妻中文 | 国产精品免费无 | 18禁成年免费无码国产 | 国产高清无码免费 | 国内免费视频一区二区三区 | 国产女主播真实视频在线观看 | 国产亚洲日本精品成人专区 | 国产精品无码久久av嫩草 | 国产福利a级午夜大片 | 国产熟女精品一区桃花 | a级毛片免费网站 | 国产精品国三级国产aⅴ | 成人av片无码免费天天看 | 国产二级一片内射视频插放 | 国产午夜福利啪啪 | 成人午夜福利 | 1000部精品久久久久久久久 | 不卡国产手机版毛片 | 国产无吗一区二区三区在线欢 | 国产狂喷潮在线观看国产片 | 国产尤物在线视精品在亚洲 | 成人免费一区二区三区视 | 国产精品成人久久久久 | 18禁美女裸体全身 | 高清无码专区在线播放 | 国产免费无码v片在线观看不卡 | 国产福利片无码 | 91精品国内手机在线观看 | 国产成人高清在线观看 |