Java把xls数据读写到txt里



getCell里面是两个整数,最多一次可以读取65535行。



读取的行数如果大于这个,只能读取65535行。


如果读取一千万多行的文本数据,用 EditPlus 软件打开,会直接卡死,如果用 Notepad++可以正常打开。



如果只是想把数据格式转换一下,不进行数据处理,可以用Notepad++ 打开,然后另存为txt格式即可。



如果用代码读写转换,代码如下:

package excel;

import java.io.File;
import java.io.FileWriter;
import java.io.Writer;

import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;

public class Read_Excel {
	public static void main(String[] args) throws Exception {
		//生成的txt文件路径
		//File file1 = new File("D:" + File.separator + "test" + File.separator+ "demo.txt");
		//File file1 = new File("E:" + File.separator + "demo1.txt");
		File file1 = new File("E:" + File.separator + "demo2.txt");
		   if (!file1.getParentFile().exists()) {
			   file1.getParentFile().mkdirs();
	        }
		 Writer out = new FileWriter(file1);
		int i;
		Sheet sheet;
		Workbook book;
		Cell cell1, cell2, cell3;
		int count=0;
		try {
			// t.xls为要读取的excel文件名
			//book = Workbook.getWorkbook(new File("F:/a.xls"));
			book = Workbook.getWorkbook(new File("E:/tianchi_mobile_recommend_train_item.xls"));
			System.out.println("执行了");
			// 获得第一个工作表对象(ecxel中sheet的编号从0开始,0,1,2,3,....)
			sheet = book.getSheet(0);
			// 获取左上角的单元格
			cell1 = sheet.getCell(0, 0);
			System.out.println("标题:" + cell1.getContents());

			i = 1;
			while (true) {
				// 获取每一行的单元格
				cell1 = sheet.getCell(0, i);// (列,行)
				cell2 = sheet.getCell(1, i);
				cell3 = sheet.getCell(2, i);
				if ("".equals(cell1.getContents()) == true) // 如果读取的数据为空
					break;
				System.out.println(cell1.getContents() + "\t"
						+ cell2.getContents()+ "\t"
								+ cell3.getContents());
				count++;
				 out.write(cell1.getContents() + "\t"+ cell2.getContents()+"\t"+ cell3.getContents()+"\r\n");
				 out.flush();  
				 
				i++;
			}
			System.out.println("\n\n"+"count="+count+"\n");
			 out.close();
			book.close();
		} catch (Exception e) {
			//System.out.println("没执行");
		}
	}
}


你可能感兴趣的:(Java把xls数据读写到txt里)