真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

java表格導(dǎo)出代碼 java的excel導(dǎo)出

java里將從excel讀到的數(shù)據(jù)用csv導(dǎo)出,代碼怎么寫

解釋:csv文件實際上就是字符串,之間用“,”進行分割,之后進行的存儲。

站在用戶的角度思考問題,與客戶深入溝通,找到白云網(wǎng)站設(shè)計與白云網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設(shè)計與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:網(wǎng)站制作、做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣、域名注冊、虛擬空間、企業(yè)郵箱。業(yè)務(wù)覆蓋白云地區(qū)。

工具類如下:

import java.io.BufferedWriter;

import java.io.File;

import java.io.FileOutputStream;

import java.io.IOException;

import java.io.OutputStreamWriter;

import java.util.List;

/**

*

* CSV文件導(dǎo)出工具類

*/

public class CSVUtils {

/**

* CSV文件生成方法

* @param head

* @param dataList

* @param outPutPath

* @param filename

* @return

*/

public static File createCSVFile(List head, ListList dataList,

String outPutPath, String filename) {

File csvFile = null;

BufferedWriter csvWtriter = null;

try {

csvFile = new File(outPutPath + File.separator + filename + ".csv");

File parent = csvFile.getParentFile();

if (parent != null !parent.exists()) {

parent.mkdirs();

}

csvFile.createNewFile();

// GB2312使正確讀取分隔符","

csvWtriter = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(

csvFile), "GB2312"), 1024);

// 寫入文件頭部

writeRow(head, csvWtriter);

// 寫入文件內(nèi)容

for (List row : dataList) {

writeRow(row, csvWtriter);

}

csvWtriter.flush();

} catch (Exception e) {

e.printStackTrace();

} finally {

try {

csvWtriter.close();

} catch (IOException e) {

e.printStackTrace();

}

}

return csvFile;

}

/**

* 寫一行數(shù)據(jù)方法

* @param row

* @param csvWriter

* @throws IOException

*/

private static void writeRow(List row, BufferedWriter csvWriter) throws IOException {

// 寫入文件頭部

for (Object data : row) {

StringBuffer sb = new StringBuffer();

String rowStr = sb.append("\"").append(data).append("\",").toString();

csvWriter.write(rowStr);

}

csvWriter.newLine();

}

}

Object-Z

java導(dǎo)出excel

java導(dǎo)出Excel

java 代碼 /* * Generated by MyEclipse Struts * Template path: templates/java/JavaClass.vtl */ package com.axon.fable.sams.view.action; import java.io.IOException; import java.io.OutputStream; import java.util.List; import javax.serv ...

java導(dǎo)出Excel例舉方式

方法一:導(dǎo)出Excel數(shù)據(jù)的插件jexcelapi

程序?qū)嵗缦拢?/p>

public void exportClassroom(OutputStream os) throws PaikeException {

try {

WritableWorkbook wbook = Workbook.createWorkbook(os); //建立excel文件

WritableSheet wsheet = wbook.createSheet("教室信息表", 0); //工作表名稱

//設(shè)置Excel字體

WritableFont wfont = new WritableFont(WritableFont.ARIAL, 16,

WritableFont.BOLD, false,

jxl.format.UnderlineStyle.NO_UNDERLINE,

jxl.format.Colour.BLACK);

WritableCellFormat titleFormat = new WritableCellFormat(wfont);

String[] title = { "教室名", "容 量", "類 型", "其他說明" };

//設(shè)置Excel表頭

for (int i = 0; i title.length; i++) {

Label excelTitle = new Label(i, 0, title[i], titleFormat);

wsheet.addCell(excelTitle);

}

int c = 1; //用于循環(huán)時Excel的行號

ClassroomService cs = new ClassroomService();

List list = cs.findAllClassroom(); //這個是從數(shù)據(jù)庫中取得要導(dǎo)出的數(shù)據(jù)

Iterator it = list.iterator();

while (it.hasNext()) {

ClassroomDTO crdto = (ClassroomDTO) it.next();

Label content1 = new Label(0, c, crdto.getRoomname());

Label content2 = new Label(1, c, crdto.getCapicity().toString());

Label content3 = new Label(2, c, crdto.getRoomTypeId()

.toString());

Label content4 = new Label(3, c, crdto.getRemark());

wsheet.addCell(content1);

wsheet.addCell(content2);

wsheet.addCell(content3);

wsheet.addCell(content4);

c++;

}

wbook.write(); //寫入文件

wbook.close();

os.close();

} catch (Exception e) {

throw new PaikeException("導(dǎo)出文件出錯");

}

}

方法二:直接用Java代碼實現(xiàn)導(dǎo)出Excel報表

/*

* Generated by MyEclipse Struts

* Template path: templates/java/JavaClass.vtl

*/

package com.axon.fable.sams.view.action;

import java.io.IOException;

import java.io.OutputStream;

import java.util.List;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import jxl.Workbook;

import jxl.write.WriteException;

import jxl.write.biff.RowsExceededException;

import org.apache.struts.action.ActionForm;

import org.apache.struts.action.ActionForward;

import org.apache.struts.action.ActionMapping;

import org.hibernate.HibernateException;

import org.hibernate.Query;

import org.hibernate.Session;

import org.hibernate.Transaction;

import com.axon.fable.empolderpackage.out.OutJavaScript;

import com.axon.fable.empolderpackage.page.Pager;

import com.axon.fable.empolderpackage.string.MyPublic;

import com.axon.fable.sams.common.BaseAction;

import com.axon.fable.sams.exception.AppBusinessException;

import com.axon.fable.sams.exception.AppSystemException;

/**

* MyEclipse Struts

* Creation date: 06-28-2007

*

* XDoclet definition:

* @struts.action path="/axon" name="axonForm" input="/samspage/zm/axon.jsp" parameter="method" scope="request" validate="true"

* @struts.action-forward name="success" path="/samspage/zm/content.jsp"

*/

public class StshipoperationAction extends BaseAction {

/*

* Generated Methods

*/

private static Session session=null;

private static Transaction ts=null;

private static Query queryC=null;

private static Query queryR=null;

private static Query query=null;

private static List list=null;

private static Integer startRow;

private static Integer ncurrentPage;

private static Integer cell;

private static String property;

private static String sql;

private static String type;

private static String condition ;//是否導(dǎo)出當(dāng)前頁

private static String currentPage;

private static String from ;

private static String pactdata;

private static String voyagename;

private static String voyageno;

private static String dwt ;

private static String hirefrom ;

private static String deliveryposion ;

private static String redeliveryposion ;

private static String sheepowner ;

private static String addr;

private static String addcomm;

private static String rent;

private static String fileName ;

private static OutputStream os;

@Override

public ActionForward findAll(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) {

// TODO Auto-generated method stub

return null;

}

@Override

public ActionForward findById(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) {

// TODO Auto-generated method stub

return null;

}

@Override

public ActionForward save(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) {

// TODO Auto-generated method stub

return null;

}

public static String strNull(Object nullStr,String newStr,Integer cell){

if(nullStr==null||nullStr.equals("")){return newStr;}else{cell+=1;return nullStr+"";}

}

public static String getStr(String str,Integer cell){

if(str==null||str.trim().equals("")){return "";}else{cell+=1;return ","+str;}

}

public static String getExcelTile(String title){

if(title==null)

return "";

if(title.equals("modela.stsid"))

return "編號";

if(title.equals("modelc.pactdata"))

return "合同日期";

if(title.equals("modela.voyagename"))

return "航名";

if(title.equals("modela.voyageno"))

return "航次";

if(title.equals("modelc.dwt"))

return "DWT";

if(title.equals("modelc.hirefrom"))

return "受載期";

if(title.equals("modela.deliveryposion"))

return "交船地點";

if(title.equals("modela.redeliveryposion"))

return "還船地點";

if(title.equals("modelc.sheepowner"))

return "聯(lián)系人";

if(title.equals("modelc.addr"))

return "經(jīng)紀人擁金";

if(title.equals("modelc.addcomm"))

return "ADD COMM";

if(title.equals("modelc.rent"))

return "租金";

return "";

}

public ActionForward exporVoyagesInfoToExcel(ActionMapping mapping, ActionForm form,

HttpServletRequest request, HttpServletResponse response) {

list=null;

startRow=0;

ncurrentPage=1;

cell=0;

type =request.getParameter("type");

condition =request.getParameter("condition");//是否導(dǎo)出當(dāng)前頁

currentPage =request.getParameter("currentPage");

from =request.getParameter("from");

pactdata = request.getParameter("modelc.pactdata");

voyagename = request.getParameter("modela.voyagename");

voyageno = request.getParameter("modela.voyageno");

dwt = request.getParameter("modelc.dwt");

hirefrom = request.getParameter("modelc.hirefrom");

deliveryposion = request.getParameter("modela.deliveryposion");

redeliveryposion = request.getParameter("modela.redeliveryposion");

sheepowner = request.getParameter("modelc.sheepowner");

addr = request.getParameter("modelc.addr");

addcomm = request.getParameter("modelc.addcomm");

rent = request.getParameter("modelc.rent");

if(type!=nulltype.trim().equals("1")){

type ="已還船舶--費用未結(jié)清";

}else{

type ="已還船舶--費用已結(jié)清";

}

property =getStr(pactdata,cell)+getStr(voyagename,cell)+getStr(voyageno,cell)+getStr(dwt,cell)+getStr(hirefrom,cell)

+getStr(deliveryposion,cell)+getStr(redeliveryposion,cell)+getStr(sheepowner,cell)+getStr(addr,cell)+getStr(addcomm,cell)

+getStr(rent,cell);

property = property.substring(1);

String split[] = property.split(",");

// System.out.println("-----------------------------property:"+property);

if(currentPage!=null!currentPage.trim().equals("")){

ncurrentPage =Integer.parseInt(currentPage);

}else{

OutJavaScript.outString(response, "Sorry! Failed to get information of pager.");

return null;

}

try {

session =getServiceLocator().getBaseHibernateDAO().getSession();

sql ="select count(*) "+from;

query =session.createQuery(sql);

list = query.list();

for (int i = 0; i list.size(); i++) {

totalSize =(Integer)list.get(i);

if(totalSize!=0){

pager =new Pager(ncurrentPage,totalSize);

}

}

query =getServiceLocator().getBaseHibernateDAO().getSession().createQuery("select " +property+from);

if(condition!=nullcondition.trim().equals("1")){//分頁數(shù)據(jù)

startRow = (ncurrentPage - 1)*pager.getPageSize();

query.setFirstResult(startRow);

query.setMaxResults(pager.getPageSize());

// System.out.println("---------------------------------------------------query:"+query);

}

list = query.list();

fileName = "shipInfo";

os = response.getOutputStream();

response.reset();

response.setHeader("Content-disposition",

"attachment; filename=" +fileName + ".xls");

response.setContentType("application/msexcel");

jxl.write.WritableWorkbook wbook = Workbook.createWorkbook(os);

jxl.write.WritableSheet wsheet = wbook.createSheet("the first sheet", 0);

for (int i = 0; i split.length; i++) {

jxl.write.Label wlabel0;

wlabel0 = new jxl.write.Label(i, 0, getExcelTile(split[i]));

wsheet.addCell(wlabel0);

}

jxl.write.Label wlabel1;

for(int i=0;ilist.size();i++) {

if(split.length==1){

Object strval = (Object) list.get(i);

String javaScript=""+MyPublic.toHtmlStr(strval==null?"":strval.toString().trim())+"";

wlabel1 = new jxl.write.Label(0, i+1,strval==null?"":strval.toString().trim() );

wsheet.addCell(wlabel1);

}else{

Object[] strval = (Object[]) list.get(i);

for(int j=0;jstrval.length;j++) {

String javaScript=""+MyPublic.toHtmlStr(strval[j]==null?"":strval[j].toString().trim())+"";

//System.out.println("===================script:"+javaScript);

wlabel1 = new jxl.write.Label(j, i+1,strval[j]==null?"":strval[j].toString().trim() );

wsheet.addCell(wlabel1);

}

}

}

wbook.write();

response.flushBuffer();

wbook.close();

os.close();

} catch (IOException e) {

// TODO Auto-generated catch block

OutJavaScript.outString(response, "Sorry! Export Excel exception.");

e.printStackTrace();

} catch (HibernateException e1) {

// TODO Auto-generated catch block

OutJavaScript.outString(response, "Sorry! Database exception.");

e1.printStackTrace();

} catch (AppSystemException e1) {

// TODO Auto-generated catch block

OutJavaScript.outString(response, "Sorry! System exception.");

e1.printStackTrace();

} catch (AppBusinessException e1) {

// TODO Auto-generated catch block

OutJavaScript.outString(response, "Sorry! Database exception.");

e1.printStackTrace();

} catch (RowsExceededException e) {

// TODO Auto-generated catch block

OutJavaScript.outString(response, "Sorry! Export Excel exception.");

e.printStackTrace();

} catch (WriteException e) {

// TODO Auto-generated catch block

OutJavaScript.outString(response, "Sorry! Export Excel exception.");

e.printStackTrace();

}

return null;

}

@Override

public ActionForward update(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) {

// TODO Auto-generated method stub

return null;

}

}

還有其他很多種 字數(shù)限制 無法一一舉例方式

Java 利用poi 導(dǎo)出excel表格如何在導(dǎo)出時自由選擇路徑?

導(dǎo)出時自由選擇路徑的代碼如下:

1、后臺輸出Excel文件代碼:

OutputStream output = response.getOutputStream();

response.reset();

response.setHeader("Content-disposition", "attachment; filename=" + path);

response.setContentType("Content-Type:application/vnd.ms-excel ");

wb.write(output);

output.close();

2、前端代碼:

window.open("getExcelList","_blank");

導(dǎo)出excel數(shù)據(jù)

* @param id

* @param m

* @return

*/

@RequestMapping("/exportExcel")

public void exportExcel(@RequestParam("id") Integer id, Model m,HttpServletRequest req, HttpServletResponse resp) {

try {

ExportExcelP2pLoanPlanVo ex = new ExportExcelP2pLoanPlanVo();

String[] headers = {"最遲還款日", "還款金額","剩余幾天","逾期幾天", "罰息","是否墊付","狀態(tài)","是否發(fā)放收益"};

ListP2pLoanPlanVo dataset = new ArrayListP2pLoanPlanVo();

ListP2pLoanPlan plans = this.planService.getListByLoan(id);

for (int i = 0; i plans.size(); i++) {

P2pLoanPlanVo p2pLoanPlanVo = new P2pLoanPlanVo();

p2pLoanPlanVo.setRepayDate(plans.get(i).getRepayDate());

p2pLoanPlanVo.setRepayAmount(plans.get(i).getRepayAmount());

if(plans.get(i).getRepayDays() = 0 plans.get(i).getStatus() == 0){

p2pLoanPlanVo.setRepayDays(plans.get(i).getRepayDays());

}else{

p2pLoanPlanVo.setRepayDays(0);

}

if(plans.get(i).getRepayDays() 0 plans.get(i).getStatus() == 0){

p2pLoanPlanVo.setRepayYqDays(-plans.get(i).getRepayDays());

}else{

p2pLoanPlanVo.setRepayYqDays(0);

}

java如何導(dǎo)出excel表格,如果用poi,java代碼如何實現(xiàn).,求代碼!??!

項目結(jié)構(gòu):

xls:

\\\

XlsMain .java 類

//該類有main方法,主要負責(zé)運行程序,同時該類中也包含了用poi讀取Excel(2003版)

*

import java.io.FileInputStream;

import java.io.IOException;

import java.io.InputStream;

import java.util.ArrayList;

import java.util.List;

import org.apache.poi.hssf.usermodel.HSSFCell;

import org.apache.poi.hssf.usermodel.HSSFRow;

import org.apache.poi.hssf.usermodel.HSSFSheet;

import org.apache.poi.hssf.usermodel.HSSFWorkbook;

/**

*

* @author Hongten/br

*

* 參考地址:

*

*/

public class XlsMain {

public static void main(String[] args) throws IOException {

XlsMain xlsMain = new XlsMain();

XlsDto xls = null;

ListXlsDto list = xlsMain.readXls();

try {

XlsDto2Excel.xlsDto2Excel(list);

} catch (Exception e) {

e.printStackTrace();

}

for (int i = 0; i list.size(); i++) {

xls = (XlsDto) list.get(i);

System.out.println(xls.getXh() + " " + xls.getXm() + " "

+ xls.getYxsmc() + " " + xls.getKcm() + " "

+ xls.getCj());

}

}

/**

* 讀取xls文件內(nèi)容

*

* @return ListXlsDto對象

* @throws IOException

* 輸入/輸出(i/o)異常

*/

private ListXlsDto readXls() throws IOException {

InputStream is = new FileInputStream("pldrxkxxmb.xls");

HSSFWorkbook hssfWorkbook = new HSSFWorkbook(is);

XlsDto xlsDto = null;

ListXlsDto list = new ArrayListXlsDto();

// 循環(huán)工作表Sheet

for (int numSheet = 0; numSheet hssfWorkbook.getNumberOfSheets(); numSheet++) {

HSSFSheet hssfSheet = hssfWorkbook.getSheetAt(numSheet);

if (hssfSheet == null) {

continue;

}

// 循環(huán)行Row

for (int rowNum = 1; rowNum = hssfSheet.getLastRowNum(); rowNum++) {

HSSFRow hssfRow = hssfSheet.getRow(rowNum);

if (hssfRow == null) {

continue;

}

xlsDto = new XlsDto();

// 循環(huán)列Cell

// 0學(xué)號 1姓名 2學(xué)院 3課程名 4 成績

// for (int cellNum = 0; cellNum =4; cellNum++) {

HSSFCell xh = hssfRow.getCell(0);

if (xh == null) {

continue;

}

xlsDto.setXh(getValue(xh));

HSSFCell xm = hssfRow.getCell(1);

if (xm == null) {

continue;

}

xlsDto.setXm(getValue(xm));

HSSFCell yxsmc = hssfRow.getCell(2);

if (yxsmc == null) {

continue;

}

xlsDto.setYxsmc(getValue(yxsmc));

HSSFCell kcm = hssfRow.getCell(3);

if (kcm == null) {

continue;

}

xlsDto.setKcm(getValue(kcm));

HSSFCell cj = hssfRow.getCell(4);

if (cj == null) {

continue;

}

xlsDto.setCj(Float.parseFloat(getValue(cj)));

list.add(xlsDto);

}

}

return list;

}

/**

* 得到Excel表中的值

*

* @param hssfCell

* Excel中的每一個格子

* @return Excel中每一個格子中的值

*/

@SuppressWarnings("static-access")

private String getValue(HSSFCell hssfCell) {

if (hssfCell.getCellType() == hssfCell.CELL_TYPE_BOOLEAN) {

// 返回布爾類型的值

return String.valueOf(hssfCell.getBooleanCellValue());

} else if (hssfCell.getCellType() == hssfCell.CELL_TYPE_NUMERIC) {

// 返回數(shù)值類型的值

return String.valueOf(hssfCell.getNumericCellValue());

} else {

// 返回字符串類型的值

return String.valueOf(hssfCell.getStringCellValue());

}

}

}

XlsDto2Excel.java類

//該類主要負責(zé)向Excel(2003版)中插入數(shù)據(jù)

import java.io.FileOutputStream;

import java.io.OutputStream;

import java.util.List;

import org.apache.poi.hssf.usermodel.HSSFCell;

import org.apache.poi.hssf.usermodel.HSSFRichTextString;

import org.apache.poi.hssf.usermodel.HSSFRow;

import org.apache.poi.hssf.usermodel.HSSFSheet;

import org.apache.poi.hssf.usermodel.HSSFWorkbook;

public class XlsDto2Excel {

/**

*

* @param xls

* XlsDto實體類的一個對象

* @throws Exception

* 在導(dǎo)入Excel的過程中拋出異常

*/

public static void xlsDto2Excel(ListXlsDto xls) throws Exception {

// 獲取總列數(shù)

int CountColumnNum = xls.size();

// 創(chuàng)建Excel文檔

HSSFWorkbook hwb = new HSSFWorkbook();

XlsDto xlsDto = null;

// sheet 對應(yīng)一個工作頁

HSSFSheet sheet = hwb.createSheet("pldrxkxxmb");

HSSFRow firstrow = sheet.createRow(0); // 下標為0的行開始

HSSFCell[] firstcell = new HSSFCell[CountColumnNum];

String[] names = new String[CountColumnNum];

names[0] = "學(xué)號";

names[1] = "姓名";

names[2] = "學(xué)院";

names[3] = "課程名";

names[4] = "成績";

for (int j = 0; j CountColumnNum; j++) {

firstcell[j] = firstrow.createCell(j);

firstcell[j].setCellValue(new HSSFRichTextString(names[j]));

}

for (int i = 0; i xls.size(); i++) {

// 創(chuàng)建一行

HSSFRow row = sheet.createRow(i + 1);

// 得到要插入的每一條記錄

xlsDto = xls.get(i);

for (int colu = 0; colu = 4; colu++) {

// 在一行內(nèi)循環(huán)

HSSFCell xh = row.createCell(0);

xh.setCellValue(xlsDto.getXh());

HSSFCell xm = row.createCell(1);

xm.setCellValue(xlsDto.getXm());

HSSFCell yxsmc = row.createCell(2);

yxsmc.setCellValue(xlsDto.getYxsmc());

HSSFCell kcm = row.createCell(3);

kcm.setCellValue(xlsDto.getKcm());

HSSFCell cj = row.createCell(4);

cj.setCellValue(xlsDto.getCj());

(xlsDto.getMessage());

}

}

// 創(chuàng)建文件輸出流,準備輸出電子表格

OutputStream out = new FileOutputStream("POI2Excel/pldrxkxxmb.xls");

hwb.write(out);

out.close();

System.out.println("數(shù)據(jù)庫導(dǎo)出成功");

}

}

XlsDto .java類

//該類是一個實體類

public class XlsDto {

/**

* 選課號

*/

private Integer xkh;

/**

* 學(xué)號

*/

private String xh;

/**

* 姓名

*/

private String xm;

/**

* 學(xué)院

*/

private String yxsmc;

/**

* 課程號

*/

private Integer kch;

/**

* 課程名

*/

private String kcm;

/**

* 成績

*/

private float cj;

public Integer getXkh() {

return xkh;

}

public void setXkh(Integer xkh) {

this.xkh = xkh;

}

public String getXh() {

return xh;

}

public void setXh(String xh) {

this.xh = xh;

}

public String getXm() {

return xm;

}

public void setXm(String xm) {

this.xm = xm;

}

public String getYxsmc() {

return yxsmc;

}

public void setYxsmc(String yxsmc) {

this.yxsmc = yxsmc;

}

public Integer getKch() {

return kch;

}

public void setKch(Integer kch) {

this.kch = kch;

}

public String getKcm() {

return kcm;

}

public void setKcm(String kcm) {

this.kcm = kcm;

}

public float getCj() {

return cj;

}

public void setCj(float cj) {

this.cj = cj;

}

}

后臺輸出:

數(shù)據(jù)庫導(dǎo)出成功

1.0 hongten 信息技術(shù)學(xué)院 計算機網(wǎng)絡(luò)應(yīng)用基礎(chǔ) 80.0

2.0 王五 信息技術(shù)學(xué)院 計算機網(wǎng)絡(luò)應(yīng)用基礎(chǔ) 81.0

3.0 李勝基 信息技術(shù)學(xué)院 計算機網(wǎng)絡(luò)應(yīng)用基礎(chǔ) 82.0

4.0 五班古 信息技術(shù)學(xué)院 計算機網(wǎng)絡(luò)應(yīng)用基礎(chǔ) 83.0

5.0 蔡詩蕓 信息技術(shù)學(xué)院 計算機網(wǎng)絡(luò)應(yīng)用基礎(chǔ) 84.0


網(wǎng)站題目:java表格導(dǎo)出代碼 java的excel導(dǎo)出
本文URL:http://weahome.cn/article/hiejsg.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部