`

我写的一个读取文件写入excel的程序

阅读更多
我最近写了一个程序,这个程序的需求是这样的:

1 读取一个txt文件,这个文件中有18万笔数据;

2 文件中的每一行内容为:  身份证号码|姓名;

    比如:

    432323197709242312|曹辉

3 要求每200行写入一个excel文件,并且excel有格式要求。

我是采用jxl.jar包来写入excel文件的,因为听说这个包对中文的支持挺好的。

我写的程序效率比较低,但是实现了需求中的功能。

开始测试了好几次都报错,数组越界,结果是由于数据中有的数据有问题,

有的行不是按照规定的格式来显示的,有的行只有一个 ?号,或者该行为乱码,

或者该行没有 | 分隔符。

我写的JAVA程序如下:

package com.xjh.util;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.text.SimpleDateFormat;
import java.util.Date;

import jxl.Workbook;
import jxl.write.Label;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;

public class CreateExcel5 {

	public static void main(String[] args) throws Exception {
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		print(sdf.format(new Date()));
		for (int k = 1; k < 911; k++) {
			BufferedReader in = new BufferedReader(new FileReader("c:\\wq_1.txt"));
			WritableWorkbook book = Workbook.createWorkbook(new File("c:\\test" + k + ".xls"));
			WritableSheet sheet = book.createSheet("xiejiaohui" + k, 0);
			insertHead(book, sheet);
			String s;
			int i = 0;
				while ((s = in.readLine()) != null) {
//					if ( "".equals(s.trim()) || s.length() < 10) {
//						if (s.length() < 10) {
//						print(i + "  xiejiaohui");
//							if (s.length() > 0) {
//								print(i + "  xiejiaohui" + "[" + (200 * (k - 1)) + "]" + " " + "[" + (200 * k) + "] " + s);
//							}
//						continue;
//					}
					if (!s.contains("|")) {
						if (s.length() > 0) {
							print(i + "  xiejiaohui" + "[" + (200 * (k - 1)) + "]" + " " + "[" + (200 * k) + "] " + s);						
						}
						continue;
					}
//					if (k > 149) {
//						print(i + "  xiejiaohui" + "[" + (200 * (k - 1)) + "]" + " " + "[" + (200 * k) + "] " + s);
//					}
					if (i >= (200 * (k - 1)) && i < (200 * k)) {
						String[] s2 = s.split("\\|");
						sheet.addCell(new jxl.write.Number(0, i + 3	- (200 * (k - 1)), i + 1 - (200 * (k - 1))));
						sheet.addCell(new Label(1, i + 3 - (200 * (k - 1)),	s2[0]));
						sheet.addCell(new Label(2, i + 3 - (200 * (k - 1)), s2[1]));
//						print("i=" + i + " k=" + k + " " + s2[0] + " " + s2[1]);
					} else {
					
					}
					i++;
				}
				book.write();
				book.close();
				in.close();
		}
		print(sdf.format(new Date()));
	}

	// 写表头
	public static void insertHead(WritableWorkbook book, WritableSheet sheet)
			throws Exception {
		Date now = new Date();
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
		String gmxx = "公民信息";
		String zbsj = "制表时间  " + sdf.format(now);
		String xh = "序号";
		String zjh = "证件号";
		String xm = "姓名";
		sheet.addCell(new Label(0, 0, gmxx));
		sheet.addCell(new Label(0, 1, zbsj));
		sheet.addCell(new Label(0, 2, xh));
		sheet.addCell(new Label(1, 2, zjh));
		sheet.addCell(new Label(2, 2, xm));
	}
	
	public static void print(String s) {
		System.out.println(s);
	}
	
	public static void print(int i) {
		System.out.println(i);
	}
}

分享到:
评论

相关推荐

    C# 读取XML文件并写入Excel表格

    本项目涉及的核心技术是“读取XML文件”和“写入Excel表格”。XML(Extensible Markup Language)是一种用于存储和传输数据的标准化格式,而Excel则是Microsoft Office套件中的一个组件,用于创建、编辑和分析数据。...

    VS2013 C++读取/写入EXCEL2010文件

    - `CRange`:表示Excel的一个单元格或单元格区域,用于读写数据。 6. **基本操作示例**: - 打开工作簿:`CApplication app; app.CreateDispatch(_T("Excel.Application")); CWorkbook workbook = app.Workbooks....

    Android Excel文件写入和读取

    在Android应用开发中,有时需要处理大量的结构化数据,这时Excel文件就成为一个理想的存储选择,因为它们便于人类阅读,同时也方便程序进行数据处理。本文将详细介绍如何在Android中实现Excel文件的读取与写入。 ...

    把文件写入excel表格

    3. `pandas`库:`pandas`是一个强大的数据处理库,可以轻松地将数据结构化为DataFrame,然后将DataFrame写入Excel。使用`to_excel()`方法可以将DataFrame对象保存为Excel文件,还可以通过设置参数控制样式、索引等...

    VS 2008 C#读写excel文件

    本示例重点介绍了如何读取和写入Excel文件,这对于数据处理、报告生成或者数据分析等场景非常实用。在C#中,通常会利用Microsoft.Office.Interop.Excel这个组件来实现与Excel的交互,它是Office的COM互操作组件,...

    Labview读写Excel报表示例程序

    在这个“Labview读写Excel报表示例程序”中,提供了两个关键的VI(Virtual Instruments),即虚拟仪器,帮助用户实现对Excel文件的数据读取和写入功能。以下将详细阐述这两个操作在LabVIEW 2021中的实现方式及其相关...

    c++ 对excel 读写操作

    在写入 Excel 文件部分,使用 `CDatabase` 对象来创建一个新的 Excel 文件,并使用 `CRecordset` 对象来插入数据。首先,需要获取主程序所在路径,并使用 `GetModuleFileName()` 函数来获取当前程序的路径。 然后,...

    C#快速读写EXCEL文件

    1. **创建ExcelPackage**:使用EPPlus,首先需要创建一个ExcelPackage实例,指定要写入的文件路径。 2. **添加工作表**:在ExcelPackage中创建一个新的工作表,可以自定义工作表名称。 3. **数据写入工作表**:遍历...

    labviEW例子之连续写入Excel文件

    总的来说,这个"labVIEW例子之连续写入Excel文件"涵盖了LabVIEW编程中的一个重要应用领域,即如何通过LabVIEW与外部应用程序(如Excel)交互,实现实时数据记录和分析。这个例子对于学习LabVIEW的初学者和需要处理...

    利用vb读取ini文件,并写入excel

    标题中的“利用vb读取ini文件,并写入excel”指的是使用Visual Basic (VB)编程语言来操作两种常见的数据存储格式:INI文件和Excel电子表格。INI文件是一种简单的文本配置文件,通常用于存储程序的设置和参数,而...

    python3 循环读取excel文件并写入json操作

    在主程序中,我们使用一个for循环读取1到15(包括1和15)的Excel文件,并将所有数据合并到一个大列表`d`中。然后,我们按照`time`字段对数据进行升序排序,以便于后续处理。最后,我们使用`json.dumps()`方法将数据...

    wincc7.4 用VBS将变量写入EXCEL,并能读取记录文件

    要将WinCC的变量写入Excel,首先确保你已经在WinCC项目中创建了所需的变量。这些变量可以是PLC中的实时数据,也可以是WinCC内部的模拟变量。然后,你可以创建一个VBS脚本,利用Excel的Object Model来操作工作簿、...

    ExcelFunction_读写excel_读写excel_excel读写_excel读写_源码

    而针对大量数据的操作,程序员经常需要通过编程方式来读取和写入Excel文件,以实现自动化处理。本文将深入探讨如何使用C#编程语言来实现Excel的读写功能,基于提供的标题"ExcelFunction_读写excel_读写excel_excel...

    基于LabVIEW的Excel数据读取和写入.zip

    本资源“基于LabVIEW的Excel数据读取和写入.zip”提供了一个实用的方法来实现这一功能。下面将详细讲解如何在LabVIEW中进行Excel数据的读取和写入操作,以及这一过程中的关键知识点。 1. **LabVIEW简介**: ...

    QTP的XML结果文件中读取数据,汇总写入EXCEL

    在给定的描述中,我们看到如何从 QTP 的 XML 结果文件中提取数据,并将这些数据汇总到一个 Excel 文件中。 首先,我们需要了解如何读取 XML 文件。在示例代码中,使用了 `GetXmlAttribute` 函数来获取特定 XML 路径...

    VS2010/MFC 读写excel文件 操作类

    3. **写入Excel数据**:类似地,我们可以通过`Range-&gt;put_Value`方法来设置单元格的值。如果需要写入的是一系列数据,可能需要处理范围、行和列的概念,这可以通过`Range-&gt;Resize`方法来实现。 4. **关闭Excel文件*...

    Excel文件的读取和写入_Excel文件的读取和写入_

    % 创建一个5x3的随机矩阵 xlswrite('test.xlsx', data); ``` 这段代码将生成的随机矩阵写入到`test.xlsx`的首个工作表。 ### 进阶使用 除了基本的读写操作,还可以结合其他MATLAB函数进行更复杂的处理,如处理日期...

    C++ Excel文件写入

    这通常适用于小规模的数据写入,例如创建一个新的Excel工作簿并填充一些数据。 以下是一个基本的步骤: 1. **打开文件**:使用`fstream`的`open()`函数,指定要写入的Excel文件路径,并设置打开模式为`ios::binary...

    AutoCAD图块属性读取并写入Excel表格(VB源程序)

    1. **启动AutoCAD实例**:在VB代码中,首先需要创建一个AcadApplication对象,这允许我们与AutoCAD实例进行交互。 2. **打开AutoCAD图形**:通过AcadApplication对象的OpenDocumentFile方法,我们可以加载需要处理...

Global site tag (gtag.js) - Google Analytics