import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFCell;
import java.io.FileOutputStream;
public class CreateXL {
/** Excel 文件要存放的位置,假定在D盤JTest目錄下*/
public static String outputFile="D:/JTest/ gongye.xls";
public static void main(String argv[]){
try{
// 創(chuàng)建新的Excel 工作簿
HSSFWorkbook workbook = new HSSFWorkbook();
// 在Excel工作簿中建一工作表,其名為缺省值
// 如要新建一名為"效益指標"的工作表,其語句為:
// HSSFSheet sheet = workbook.createSheet("效益指標");
HSSFSheet sheet = workbook.createSheet();
// 在索引0的位置創(chuàng)建行(最頂端的行)
HSSFRow row = sheet.createRow((short)0);
//在索引0的位置創(chuàng)建單元格(左上端)
HSSFCell cell = row.createCell((short) 0);
// 定義單元格為字符串類型
cell.setCellType(HSSFCell.CELL_TYPE_STRING);
// 在單元格中輸入一些內(nèi)容
cell.setCellValue("增加值");
// 新建一輸出文件流
FileOutputStream fOut = new FileOutputStream(outputFile);
// 把相應的Excel 工作簿存盤
workbook.write(fOut);
fOut.flush();
// 操作結(jié)束,關(guān)閉文件
fOut.close();
System.out.println("文件生成...");
}catch(Exception e) {
System.out.println("已運行 xlCreate() : " + e );
}
}
}
讀取Excel文檔中的數(shù)據(jù)
示例2將演示如何讀取Excel文檔中的數(shù)據(jù)。假定在D盤JTest目錄下有一個文件名為gongye.xls的Excel文件。
示例2程序如下:
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFCell;
import java.io.FileInputStream;
public class ReadXL {
/** Excel文件的存放位置。注意是正斜線*/
public static String fileToBeRead="D:/JTest/ gongye.xls";
public static void main(String argv[]){
try{
// 創(chuàng)建對Excel工作簿文件的引用
HSSFWorkbook workbook = new HSSFWorkbook(new FileInputStream(fileToBeRead));
// 創(chuàng)建對工作表的引用。
// 本例是按名引用(讓我們假定那張表有著缺省名"Sheet1")
HSSFSheet sheet = workbook.getSheet("Sheet1");
// 也可用getSheetAt(int index)按索引引用,
// 在Excel文檔中,第一張工作表的缺省索引是0,
// 其語句為:HSSFSheet sheet = workbook.getSheetAt(0);
// 讀取左上端單元
HSSFRow row = sheet.getRow(0);
HSSFCell cell = row.getCell((short)0);
// 輸出單元內(nèi)容,cell.getStringCellValue()就是取所在單元的值
System.out.println("左上端單元是: " + cell.getStringCellValue());
}catch(Exception e) {
System.out.println("已運行xlRead() : " + e );
}
}
}
----------------------------------------------
package cc.dynasoft.struts.action;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Iterator;
import java.util.List;
import java.util.Vector;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFFont;
import org.apache.poi.hssf.usermodel.HSSFFooter;
import org.apache.poi.hssf.usermodel.HSSFHeader;
import org.apache.poi.hssf.usermodel.HSSFPrintSetup;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.hssf.util.HSSFColor;
import org.apache.poi.hssf.util.Region;
import cc.dynasoft.bean.Department;
///import org.apache.poi.hssf.record.HeaderRecorder;
public class OutputExcel {
public static boolean outputExcel(ExcelArgs args, List title, List list) {
try {
? int cellNum = args.getCellNum(); // workbook
? int rowNum = args.getRowNum();
? /**
?? * 建立表格設置。
?? */
? HSSFWorkbook wb = new HSSFWorkbook(); // create the new Workbook
? HSSFSheet sheet = wb.createSheet(args.getSheetName()); // create
? /**
?? * 打印設置
?? */
? HSSFPrintSetup hps = sheet.getPrintSetup();
? hps.setPaperSize((short) 9); // 設置A4紙
? // hps.setLandscape(true); // 將頁面設置為橫向打印模式
? sheet.setHorizontallyCenter(true); // 設置打印頁面為水平居中
? // sheet.setVerticallyCenter(true); // 設置打印頁面為垂直居中
? wb.setPrintArea(0, "$A$2:$e$" + rowNum + 2);// 打印區(qū)域設置.
? /**
?? * 設置表的Footer
?? */
? HSSFFooter footer = sheet.getFooter();
? // 設置footer的位置和顯示的內(nèi)容
? footer.setCenter("Time:" + HSSFFooter.date());
? footer.setRight("Page " + HSSFFooter.page() + " of "
??? + HSSFFooter.numPages());
? /**
?? * 設置表的Header
?? */
? // 設置header的位置,共有三種位置和相應的顯示設置
? HSSFHeader header = sheet.getHeader();
? // header.setRight("Center Header");
? // header.setLeft("Left Header");
? header.setCenter(HSSFHeader.font("Stencil-Normal", "Italic")
??? + HSSFHeader.fontSize((short) 30) + args.getHeaderTitle());
? // header.endDoubleUnderline();
? header.startUnderline();
? /**
?? * 設置列的寬度
?? */
? sheet.setColumnWidth((short) 2,
??? (short) ((30 *
/ ((double) 1 / 10)));
? sheet.setColumnWidth((short) 3,
??? (short) ((40 *
/ ((double) 1 / 10)));
? sheet.setColumnWidth((short) 4,
??? (short) ((50 *
/ ((double) 1 / 20)));
? /**
?? * 創(chuàng)建第一行,也就是顯示的標題, 可以高置的高度,單元格的格式,顏色,字體等設置. 同時可以合并單元格.
?? */
? HSSFRow row0 = sheet.createRow(0); // 創(chuàng)建0行
? row0.setHeight((short) 0x300); // 設直行的高度.
? HSSFFont font2 = wb.createFont(); // 創(chuàng)建字體格式
? font2.setColor(HSSFFont.SS_NONE); // 設置單元格字體的顏色.
? font2.setFontHeight((short) 700); // 設置字體大小
? font2.setFontName("Courier New"); // 設置單元格字體
? HSSFCell cell0 = row0.createCell((short) 0); // 創(chuàng)建0行0列.
? HSSFCellStyle style3 = wb.createCellStyle(); // 創(chuàng)建單元格風格.
? style3.setAlignment(HSSFCellStyle.VERTICAL_CENTER); // 垂直居中
? style3.setAlignment(HSSFCellStyle.ALIGN_CENTER); // /水平居中
? style3.setFont(font2); // 將字體格式加入到單元格風格當中
? // cell0.setCellType()
? cell0.setCellStyle(style3); // 設置單元格的風格.
? cell0.setCellValue(args.getHeaderTitle()); // 設置單元的內(nèi)容.
? sheet.addMergedRegion(new Region(0, (short) 0, 0,
??? (short) (cellNum - 1)));// 指定合并區(qū)域,前二個參數(shù)為開始處X,Y坐標.后二個為結(jié)束的坐標.
? /**
?? * 設置其它數(shù)據(jù) 設置風格
?? */
? HSSFCellStyle style = wb.createCellStyle();
? style.setBorderBottom(HSSFCellStyle.BORDER_THIN); // 設置單無格的邊框為粗體
? style.setBottomBorderColor(HSSFColor.BLACK.index); // 設置單元格的邊框顏色.
? style.setBorderLeft(HSSFCellStyle.BORDER_THIN);
? style.setLeftBorderColor(HSSFColor.BLACK.index);
? style.setBorderRight(HSSFCellStyle.BORDER_THIN);
? style.setRightBorderColor(HSSFColor.BLACK.index);
? style.setBorderTop(HSSFCellStyle.BORDER_THIN);
? style.setTopBorderColor(HSSFColor.BLACK.index);
? // style.setWrapText(true);//文本區(qū)域隨內(nèi)容多少自動調(diào)整
? // style.setFillForegroundColor(HSSFColor.LIME.index);
? // style.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
? /**
?? * 設置風格1
?? */
? HSSFCellStyle style1 = wb.createCellStyle();
? style1.setBorderBottom(HSSFCellStyle.BORDER_THIN); // 設置單無格的邊框為粗體
? style1.setBottomBorderColor(HSSFColor.BLACK.index); // 設置單元格的邊框顏色.
? style1.setBorderLeft(HSSFCellStyle.BORDER_THIN);
? style1.setLeftBorderColor(HSSFColor.BLACK.index);
? style1.setBorderRight(HSSFCellStyle.BORDER_THIN);
? style1.setRightBorderColor(HSSFColor.BLACK.index);
? style1.setBorderTop(HSSFCellStyle.BORDER_MEDIUM);
? style1.setTopBorderColor(HSSFColor.BLACK.index);
? style1.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);// 最好的設置Pattern
? // 單元格背景的顯示模式.
? style1.setFillForegroundColor(new HSSFColor.RED().getIndex()); // 設置單元格背景色;
? style1.setAlignment(HSSFCellStyle.ALIGN_CENTER); // 水平對齊方式
? // style1.setWrapText(true);//文本區(qū)域隨內(nèi)容多少自動調(diào)整
? // style.setFillPattern(HSSFCellStyle.//);
? // 設置字體Color,首先創(chuàng)建Font對象,后對font設置,然后做為參數(shù)傳給style
? HSSFFont font = wb.createFont();
? font.setColor(HSSFFont.SS_NONE);
? // font.setFontHeightInPoints((short)24);
? font.setFontName("Courier New");
? // font.setItalic(true);
? // font.setStrikeout(true);//給字體加上刪除線
? font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
? style1.setFont(font);
? /**
?? *
?? * 設置第零行表格說明行
?? *
?? *
?? *
?? */
? HSSFRow row1 = sheet.createRow((short) 1);
? for (int j = 0; j < cellNum; j++) {
?? HSSFCell cell = row1.createCell((short) j);
?? cell.setCellValue((String) title.get(j));
?? cell.setCellStyle(style1);
? }
? // style.setFillPattern(HSSFCellStyle.NO_FILL);
? /**
?? * 設置表的內(nèi)容主體
?? */
? Iterator iter = list.iterator();
? for (int i = 2; iter.hasNext(); i++) {
?? Department dep = (Department) iter.next();
?? HSSFRow row = sheet.createRow((short) i);
?? HSSFCell cell5 = row.createCell((short) 0);
?? HSSFCell cell1 = row.createCell((short) 1);
?? HSSFCell cell2 = row.createCell((short) 2);
?? HSSFCell cell3 = row.createCell((short) 3);
?? HSSFCell cell4 = row.createCell((short) 4);
?? cell5.setCellValue(dep.getId());
?? cell5.setCellStyle(style);
?? cell1.setCellValue(dep.getParentId());
?? cell1.setCellStyle(style);
?? cell2.setCellValue(dep.getName());
?? cell2.setCellStyle(style);
?? cell3.setCellValue(dep.getDescription());
?? cell3.setCellStyle(style);
?? cell4.setCellValue(dep.getImagePath());
?? cell4.setCellStyle(style);
? }
? // Write the output to a file}
? // FileOutputStream fileOut = new
? // FileOutputStream(args.getPath()+args.getFileName());
? /**
?? * 對文件進行輸出操作。
?? */
? FileOutputStream fileOut = new FileOutputStream(args
??? .getPathAndName());
? wb.write(fileOut);
? // fileOut.close();
} catch (IOException ex) {
? ex.printStackTrace();
} catch (Exception ex) {
? ex.printStackTrace();
}
return true;
}
}
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFCell;
import java.io.FileOutputStream;
public class CreateXL {
/** Excel 文件要存放的位置,假定在D盤JTest目錄下*/
public static String outputFile="D:/JTest/ gongye.xls";
public static void main(String argv[]){
try{
// 創(chuàng)建新的Excel 工作簿
HSSFWorkbook workbook = new HSSFWorkbook();
// 在Excel工作簿中建一工作表,其名為缺省值
// 如要新建一名為"效益指標"的工作表,其語句為:
// HSSFSheet sheet = workbook.createSheet("效益指標");
HSSFSheet sheet = workbook.createSheet();
// 在索引0的位置創(chuàng)建行(最頂端的行)
HSSFRow row = sheet.createRow((short)0);
//在索引0的位置創(chuàng)建單元格(左上端)
HSSFCell cell = row.createCell((short) 0);
// 定義單元格為字符串類型
cell.setCellType(HSSFCell.CELL_TYPE_STRING);
// 在單元格中輸入一些內(nèi)容
cell.setCellValue("增加值");
// 新建一輸出文件流
FileOutputStream fOut = new FileOutputStream(outputFile);
// 把相應的Excel 工作簿存盤
workbook.write(fOut);
fOut.flush();
// 操作結(jié)束,關(guān)閉文件
fOut.close();
System.out.println("文件生成...");
}catch(Exception e) {
System.out.println("已運行 xlCreate() : " + e );
}
}
}
讀取Excel文檔中的數(shù)據(jù)
示例2將演示如何讀取Excel文檔中的數(shù)據(jù)。假定在D盤JTest目錄下有一個文件名為gongye.xls的Excel文件。
示例2程序如下:
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFCell;
import java.io.FileInputStream;
public class ReadXL {
/** Excel文件的存放位置。注意是正斜線*/
public static String fileToBeRead="D:/JTest/ gongye.xls";
public static void main(String argv[]){
try{
// 創(chuàng)建對Excel工作簿文件的引用
HSSFWorkbook workbook = new HSSFWorkbook(new FileInputStream(fileToBeRead));
// 創(chuàng)建對工作表的引用。
// 本例是按名引用(讓我們假定那張表有著缺省名"Sheet1")
HSSFSheet sheet = workbook.getSheet("Sheet1");
// 也可用getSheetAt(int index)按索引引用,
// 在Excel文檔中,第一張工作表的缺省索引是0,
// 其語句為:HSSFSheet sheet = workbook.getSheetAt(0);
// 讀取左上端單元
HSSFRow row = sheet.getRow(0);
HSSFCell cell = row.getCell((short)0);
// 輸出單元內(nèi)容,cell.getStringCellValue()就是取所在單元的值
System.out.println("左上端單元是: " + cell.getStringCellValue());
}catch(Exception e) {
System.out.println("已運行xlRead() : " + e );
}
}
}
----------------------------------------------
package cc.dynasoft.struts.action;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Iterator;
import java.util.List;
import java.util.Vector;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFFont;
import org.apache.poi.hssf.usermodel.HSSFFooter;
import org.apache.poi.hssf.usermodel.HSSFHeader;
import org.apache.poi.hssf.usermodel.HSSFPrintSetup;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.hssf.util.HSSFColor;
import org.apache.poi.hssf.util.Region;
import cc.dynasoft.bean.Department;
///import org.apache.poi.hssf.record.HeaderRecorder;
public class OutputExcel {
public static boolean outputExcel(ExcelArgs args, List title, List list) {
try {
? int cellNum = args.getCellNum(); // workbook
? int rowNum = args.getRowNum();
? /**
?? * 建立表格設置。
?? */
? HSSFWorkbook wb = new HSSFWorkbook(); // create the new Workbook
? HSSFSheet sheet = wb.createSheet(args.getSheetName()); // create
? /**
?? * 打印設置
?? */
? HSSFPrintSetup hps = sheet.getPrintSetup();
? hps.setPaperSize((short) 9); // 設置A4紙
? // hps.setLandscape(true); // 將頁面設置為橫向打印模式
? sheet.setHorizontallyCenter(true); // 設置打印頁面為水平居中
? // sheet.setVerticallyCenter(true); // 設置打印頁面為垂直居中
? wb.setPrintArea(0, "$A$2:$e$" + rowNum + 2);// 打印區(qū)域設置.
? /**
?? * 設置表的Footer
?? */
? HSSFFooter footer = sheet.getFooter();
? // 設置footer的位置和顯示的內(nèi)容
? footer.setCenter("Time:" + HSSFFooter.date());
? footer.setRight("Page " + HSSFFooter.page() + " of "
??? + HSSFFooter.numPages());
? /**
?? * 設置表的Header
?? */
? // 設置header的位置,共有三種位置和相應的顯示設置
? HSSFHeader header = sheet.getHeader();
? // header.setRight("Center Header");
? // header.setLeft("Left Header");
? header.setCenter(HSSFHeader.font("Stencil-Normal", "Italic")
??? + HSSFHeader.fontSize((short) 30) + args.getHeaderTitle());
? // header.endDoubleUnderline();
? header.startUnderline();
? /**
?? * 設置列的寬度
?? */
? sheet.setColumnWidth((short) 2,
??? (short) ((30 *

? sheet.setColumnWidth((short) 3,
??? (short) ((40 *

? sheet.setColumnWidth((short) 4,
??? (short) ((50 *

? /**
?? * 創(chuàng)建第一行,也就是顯示的標題, 可以高置的高度,單元格的格式,顏色,字體等設置. 同時可以合并單元格.
?? */
? HSSFRow row0 = sheet.createRow(0); // 創(chuàng)建0行
? row0.setHeight((short) 0x300); // 設直行的高度.
? HSSFFont font2 = wb.createFont(); // 創(chuàng)建字體格式
? font2.setColor(HSSFFont.SS_NONE); // 設置單元格字體的顏色.
? font2.setFontHeight((short) 700); // 設置字體大小
? font2.setFontName("Courier New"); // 設置單元格字體
? HSSFCell cell0 = row0.createCell((short) 0); // 創(chuàng)建0行0列.
? HSSFCellStyle style3 = wb.createCellStyle(); // 創(chuàng)建單元格風格.
? style3.setAlignment(HSSFCellStyle.VERTICAL_CENTER); // 垂直居中
? style3.setAlignment(HSSFCellStyle.ALIGN_CENTER); // /水平居中
? style3.setFont(font2); // 將字體格式加入到單元格風格當中
? // cell0.setCellType()
? cell0.setCellStyle(style3); // 設置單元格的風格.
? cell0.setCellValue(args.getHeaderTitle()); // 設置單元的內(nèi)容.
? sheet.addMergedRegion(new Region(0, (short) 0, 0,
??? (short) (cellNum - 1)));// 指定合并區(qū)域,前二個參數(shù)為開始處X,Y坐標.后二個為結(jié)束的坐標.
? /**
?? * 設置其它數(shù)據(jù) 設置風格
?? */
? HSSFCellStyle style = wb.createCellStyle();
? style.setBorderBottom(HSSFCellStyle.BORDER_THIN); // 設置單無格的邊框為粗體
? style.setBottomBorderColor(HSSFColor.BLACK.index); // 設置單元格的邊框顏色.
? style.setBorderLeft(HSSFCellStyle.BORDER_THIN);
? style.setLeftBorderColor(HSSFColor.BLACK.index);
? style.setBorderRight(HSSFCellStyle.BORDER_THIN);
? style.setRightBorderColor(HSSFColor.BLACK.index);
? style.setBorderTop(HSSFCellStyle.BORDER_THIN);
? style.setTopBorderColor(HSSFColor.BLACK.index);
? // style.setWrapText(true);//文本區(qū)域隨內(nèi)容多少自動調(diào)整
? // style.setFillForegroundColor(HSSFColor.LIME.index);
? // style.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
? /**
?? * 設置風格1
?? */
? HSSFCellStyle style1 = wb.createCellStyle();
? style1.setBorderBottom(HSSFCellStyle.BORDER_THIN); // 設置單無格的邊框為粗體
? style1.setBottomBorderColor(HSSFColor.BLACK.index); // 設置單元格的邊框顏色.
? style1.setBorderLeft(HSSFCellStyle.BORDER_THIN);
? style1.setLeftBorderColor(HSSFColor.BLACK.index);
? style1.setBorderRight(HSSFCellStyle.BORDER_THIN);
? style1.setRightBorderColor(HSSFColor.BLACK.index);
? style1.setBorderTop(HSSFCellStyle.BORDER_MEDIUM);
? style1.setTopBorderColor(HSSFColor.BLACK.index);
? style1.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);// 最好的設置Pattern
? // 單元格背景的顯示模式.
? style1.setFillForegroundColor(new HSSFColor.RED().getIndex()); // 設置單元格背景色;
? style1.setAlignment(HSSFCellStyle.ALIGN_CENTER); // 水平對齊方式
? // style1.setWrapText(true);//文本區(qū)域隨內(nèi)容多少自動調(diào)整
? // style.setFillPattern(HSSFCellStyle.//);
? // 設置字體Color,首先創(chuàng)建Font對象,后對font設置,然后做為參數(shù)傳給style
? HSSFFont font = wb.createFont();
? font.setColor(HSSFFont.SS_NONE);
? // font.setFontHeightInPoints((short)24);
? font.setFontName("Courier New");
? // font.setItalic(true);
? // font.setStrikeout(true);//給字體加上刪除線
? font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
? style1.setFont(font);
? /**
?? *
?? * 設置第零行表格說明行
?? *
?? *
?? *
?? */
? HSSFRow row1 = sheet.createRow((short) 1);
? for (int j = 0; j < cellNum; j++) {
?? HSSFCell cell = row1.createCell((short) j);
?? cell.setCellValue((String) title.get(j));
?? cell.setCellStyle(style1);
? }
? // style.setFillPattern(HSSFCellStyle.NO_FILL);
? /**
?? * 設置表的內(nèi)容主體
?? */
? Iterator iter = list.iterator();
? for (int i = 2; iter.hasNext(); i++) {
?? Department dep = (Department) iter.next();
?? HSSFRow row = sheet.createRow((short) i);
?? HSSFCell cell5 = row.createCell((short) 0);
?? HSSFCell cell1 = row.createCell((short) 1);
?? HSSFCell cell2 = row.createCell((short) 2);
?? HSSFCell cell3 = row.createCell((short) 3);
?? HSSFCell cell4 = row.createCell((short) 4);
?? cell5.setCellValue(dep.getId());
?? cell5.setCellStyle(style);
?? cell1.setCellValue(dep.getParentId());
?? cell1.setCellStyle(style);
?? cell2.setCellValue(dep.getName());
?? cell2.setCellStyle(style);
?? cell3.setCellValue(dep.getDescription());
?? cell3.setCellStyle(style);
?? cell4.setCellValue(dep.getImagePath());
?? cell4.setCellStyle(style);
? }
? // Write the output to a file}
? // FileOutputStream fileOut = new
? // FileOutputStream(args.getPath()+args.getFileName());
? /**
?? * 對文件進行輸出操作。
?? */
? FileOutputStream fileOut = new FileOutputStream(args
??? .getPathAndName());
? wb.write(fileOut);
? // fileOut.close();
} catch (IOException ex) {
? ex.printStackTrace();
} catch (Exception ex) {
? ex.printStackTrace();
}
return true;
}
}
更多文章、技術(shù)交流、商務合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
