「java读取表」java读取表格文件字段类型内容

博主:adminadmin 2022-11-26 12:41:05 40

本篇文章给大家谈谈java读取表,以及java读取表格文件字段类型内容对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

如何通过JAVA 读取.wps et及 dps文件格式的内容

下面是三个java例子,关于读取wps/et/dps的方法

1.读取wps(读取文本): 通过流加载wps文件,读取文字内容

import com.spire.doc.*;

import java.io.File;

import java.io.FileInputStream;

import java.io.FileWriter;

import java.io.IOException;

public class ReadTextFromWPS {

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

//通过流加载WPS文字文档

FileInputStream inputStream = new FileInputStream(new File("test.wps"));

Document doc = new Document();

doc.loadFromStream(inputStream, FileFormat.Doc);

//获取文本保存为String

String text = doc.getText();

//将String写入Txt

writeStringToTxt(text,"读取WPS文本.txt");

}

public static void writeStringToTxt(String content, String txtFileName) throws IOException {

FileWriter fWriter= new FileWriter(txtFileName,true);

try {

fWriter.write(content);

}catch(IOException ex){

ex.printStackTrace();

}finally{

try{

fWriter.flush();

fWriter.close();

} catch (IOException ex) {

ex.printStackTrace();

}

}

}

}

2. 读取et:直接加载et格式的表格文件,读取数据

import com.spire.xls.*;

public class ExcelToText {

public static void main(String[] args) {

//加载et格式的表格文件

Workbook workbook = new Workbook();

workbook.loadFromFile("test.et");

//获取工作表

Worksheet sheet = workbook.getWorksheets().get(0);

//获取指定单元格中的文本数据

CellRange range = sheet.getCellRange("A1");

String text = range.getText().trim();

System.out.println(text);

}

}

3.读取dps:直接加载dps格式的幻灯片文档,读取文本

import com.spire.presentation.IAutoShape;

import com.spire.presentation.ISlide;

import com.spire.presentation.ParagraphEx;

import com.spire.presentation.Presentation;

import java.io.FileWriter;

public class ExtractText {

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

//加载测试文档

Presentation ppt = new Presentation();

//ppt.loadFromFile("test.pptx");

ppt.loadFromFile("test.dps");

StringBuilder buffer = new StringBuilder();

//遍历文档中的幻灯片,提取文本

for (Object slide : ppt.getSlides())

{

for (Object shape : ((ISlide) slide).getShapes())

{

if (shape instanceof IAutoShape)

{

for (Object tp : ((IAutoShape) shape).getTextFrame().getParagraphs())

{

buffer.append(((ParagraphEx) tp).getText());

}

}

}

}

//保存到文本文件

FileWriter writer = new FileWriter("ExtractTextfromDPS.txt");

writer.write(buffer.toString());

writer.flush();

writer.close();

}

}

这里须在Java程序中导入spire.office.jar文件。

java如何获取数据库中所有表名

有多种方法的,最简单的就是直接用sql查询(比如mysql是:show tables),然后java里面用一个map接收就好了。也可以通过java对数据库的链接来直接获取数据库表名的。

java读取和输出excel表格的问题

Java Excel 是一个开源项目,通过它Java开发人员可以读取Excel文件的内容、创建新的Excel文件、更新已经存在的Excel文件等,在项目中需要导入名为jxl.jar的包。在这里只是示例它的基本用法,其他高级的功能(图片、公式、格式等)请参考Java Excel的帮助文档。

如有一个用户资料的Excel表,包含ID、用户名、性别、邮件等信息,定义一个用户JavaBean:

package com.monitor1394.excel;

/**

*

* 用户

*

* @author monitor

* Created on 2010-12-22, 9:57:58

*/

public class User {

/** ID */

private int id;

/** 用户名 */

private String name;

/** 性别 1:男 2:女*/

private int sex;

/** 邮件 */

private String email;

public User(){

}

public User(int id,String name,int sex,String email){

this.id=id;

this.name=name;

this.sex=sex;

this.email=email;

}

public String getEmail() {

return email;

}

public void setEmail(String email) {

this.email = email;

}

public int getId() {

return id;

}

public void setId(int id) {

this.id = id;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public int getSex() {

return sex;

}

public void setSex(int sex) {

this.sex = sex;

}

@Override

public String toString(){

return id+":"+name;

}

}

提供的Excel表操作类如下,某些单元格的格式可按自己意愿指定:

package com.monitor1394.excel;

import java.io.File;

import java.io.IOException;

import java.util.ArrayList;

import java.util.List;

import jxl.Sheet;

import jxl.Workbook;

import jxl.format.Alignment;

import jxl.format.Border;

import jxl.format.BorderLineStyle;

import jxl.format.Colour;

import jxl.format.VerticalAlignment;

import jxl.read.biff.BiffException;

import jxl.write.Label;

import jxl.write.Number;

import jxl.write.NumberFormats;

import jxl.write.WritableCellFormat;

import jxl.write.WritableFont;

import jxl.write.WritableSheet;

import jxl.write.WritableWorkbook;

import jxl.write.WriteException;

/**

*

* Excel表操作

*

* @author monitor

* Created on 2010-12-22, 9:50:28

*/

public class Excel {

/** 标题单元格格式 */

private static WritableCellFormat titleFormat=null;

/** 主题内容单元格格式 */

private static WritableCellFormat bodyFormat=null;

/** 注释单元格格式 */

private static WritableCellFormat noteFormat=null;

/** 浮点型数据的单元格格式 */

private static WritableCellFormat floatFormat=null;

/** 整型数据的单元格格式 */

private static WritableCellFormat intFormat=null;

/** 初始化数据 */

private static boolean init=false;

/** 私有构造方法,防止错误使用Excel类 */

private Excel(){

}

/**

* 初始化各单元格格式

* @throws WriteException 初始化失败

*/

private static void init() throws WriteException{

WritableFont font1,font2,font3,font4;

//Arial字体,9号,粗体,单元格黄色,田字边框,居中对齐

font1 = new WritableFont(WritableFont.ARIAL, 9, WritableFont.BOLD, false);

titleFormat = new WritableCellFormat (font1);

titleFormat.setBackground(Colour.YELLOW);

titleFormat.setBorder(Border.ALL, BorderLineStyle.THIN);

titleFormat.setAlignment(Alignment.CENTRE);

//Arial字体,9号,粗体,单元格黄色,田字边框,左右居中对齐,垂直居中对齐,自动换行

font2 = new WritableFont(WritableFont.ARIAL, 9, WritableFont.BOLD, false);

noteFormat = new WritableCellFormat (font2);

noteFormat.setBackground(Colour.YELLOW);

noteFormat.setBorder(Border.ALL, BorderLineStyle.THIN);

noteFormat.setAlignment(Alignment.CENTRE);

noteFormat.setVerticalAlignment(VerticalAlignment.CENTRE);

noteFormat.setWrap(true);

//Arial字体,9号,非粗体,单元格淡绿色,田字边框

font3 = new WritableFont(WritableFont.ARIAL, 9, WritableFont.NO_BOLD, false);

bodyFormat = new WritableCellFormat (font3);

bodyFormat.setBackground(Colour.LIGHT_GREEN);

bodyFormat.setBorder(Border.ALL, BorderLineStyle.THIN);

//Arial字体,9号,非粗体,单元格淡绿色,田字边框

font4 = new WritableFont(WritableFont.ARIAL, 9, WritableFont.NO_BOLD, false);

floatFormat = new WritableCellFormat (font4,NumberFormats.FLOAT);

floatFormat.setBackground(Colour.LIGHT_GREEN);

floatFormat.setBorder(Border.ALL, BorderLineStyle.THIN);

//Arial字体,9号,非粗体,单元格淡绿色,田字边框

font4 = new WritableFont(WritableFont.ARIAL, 9, WritableFont.NO_BOLD, false);

intFormat = new WritableCellFormat (font4,NumberFormats.INTEGER);

intFormat.setBackground(Colour.LIGHT_GREEN);

intFormat.setBorder(Border.ALL, BorderLineStyle.THIN);

init=true;

}

public static void createUserExcelFile(ListUser userList,File destFile) throws WriteException, IOException{

if(init==false) init();

int index,row;

WritableSheet sheet=null;

WritableWorkbook book=null;

book = Workbook.createWorkbook(destFile);

sheet = book.createSheet("用户表", 0);

sheet.setColumnView(0, 15);

sheet.setColumnView(1, 15);

sheet.setColumnView(2, 15);

sheet.setColumnView(3, 40);

//字段变量名

index=0;

sheet.addCell(new Label(index++,0,"id",titleFormat));

sheet.addCell(new Label(index++,0,"name",titleFormat));

sheet.addCell(new Label(index++,0,"sex",titleFormat));

sheet.addCell(new Label(index++,0,"email",titleFormat));

//字段名

index=0;

sheet.addCell(new Label(index++,1,"ID",titleFormat));

sheet.addCell(new Label(index++,1,"用户名",titleFormat));

sheet.addCell(new Label(index++,1,"性别",titleFormat));

sheet.addCell(new Label(index++,1,"邮件",titleFormat));

//字段注释

index=0;

sheet.addCell(new Label(index++,2,null,noteFormat));

sheet.addCell(new Label(index++,2,null,noteFormat));

sheet.addCell(new Label(index++,2,"1:男/n2:女",noteFormat));

sheet.addCell(new Label(index++,2,null,noteFormat));

row=3;

for(User user:userList){

if(user==null) continue;

index=0;

sheet.addCell(new Number(index++,row,user.getId(),bodyFormat));

sheet.addCell(new Label(index++,row,user.getName(),bodyFormat));

sheet.addCell(new Number(index++,row,user.getSex(),bodyFormat));

sheet.addCell(new Label(index++,row,user.getEmail(),bodyFormat));

row++;

}

book.write();

if(book!=null) book.close();

}

public static ListUser readUserExcelFile(File file) throws IOException, BiffException{

if(file==null) return null;

int row,column;

String temp=null;

Workbook book =null;

Sheet sheet=null;

ListUser userList=new ArrayListUser();

book = Workbook.getWorkbook(file);

sheet = book.getSheet(0);

row=3;

while(rowsheet.getRows()){

column=0;

User user=new User();

//id

temp=sheet.getCell(column++,row).getContents().trim();

if(temp!=null  !temp.equals("")  temp.matches("//d+")) user.setId(Integer.parseInt(temp));

else break;

//名称

temp=sheet.getCell(column++,row).getContents().trim();

if(temp!=null  !temp.equals("")) user.setName(temp);

//性别

temp=sheet.getCell(column++,row).getContents().trim();

if(temp!=null  !temp.equals("")  temp.matches("//d+")) user.setSex(Integer.parseInt(temp));

//邮件

temp=sheet.getCell(column++,row).getContents().trim();

if(temp!=null  !temp.equals("")) user.setEmail(temp);

userList.add(user);

row++;

}

if(book!=null) book.close();

return userList;

}

}

要导入的Excel表格式如下:

导出后的Excel表如下:

关于java读取表和java读取表格文件字段类型内容的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2022-11-26,除非注明,否则均为首码项目网原创文章,转载请注明出处。