java txt转换excel,JAVA将txt转化为excel遇到的两个有关问题

Java codepublic class ExportExcelKmye extends HttpServlet {

public ExportExcelKmye() {

super();

}

public void destroy() {

super.destroy();

}

public void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

doPost(request, response);

}

public void doPost(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

try {

String exceldate = Tool.getActicleTime().substring(0, 10);

String sacct = request.getParameter("sacct");

String eacct = request.getParameter("eacct");

String date = request.getParameter("date");

String state = request.getParameter("state");

response.setContentType("APPLICATION/msexcel;charset=BIG5");

response

.setHeader("Content-Disposition", "attachment; filename="

+ new String("ヘ緇肂灿.xls".getBytes("BIG5"),

"ISO8859_1"));

OutputStream os = null;

try {

os = response.getOutputStream();

} catch (IOException e) {

e.printStackTrace();

}

WritableWorkbook book = Workbook.createWorkbook(os);

WritableSheet sheet = book.createSheet("材", 0);

WritableFont headerFont = new WritableFont(WritableFont.ARIAL, 15,

WritableFont.BOLD, false, UnderlineStyle.NO_UNDERLINE,

jxl.format.Colour.GREEN);

WritableCellFormat headerFormat = new WritableCellFormat(headerFont);

WritableFont titleFont = new WritableFont(WritableFont.ARIAL, 10,

WritableFont.NO_BOLD, false, UnderlineStyle.NO_UNDERLINE,

jxl.format.Colour.BLACK);

WritableCellFormat titleFormat = new WritableCellFormat(titleFont);

WritableFont detFont = new WritableFont(WritableFont.ARIAL, 10,

WritableFont.NO_BOLD, false, UnderlineStyle.NO_UNDERLINE,

jxl.format.Colour.BLACK);

WritableCellFormat detFormat = new WritableCellFormat(detFont);

sheet.mergeCells(0, 0, 13, 0);// 虫じ

Label lable = new Label(

0,

0,

" ヘ緇肂灿 ",

headerFormat);

sheet.addCell(lable);

sheet.mergeCells(0, 1, 11, 0);

lable = new Label(0, 1, "ら戳:" + exceldate);

sheet.addCell(lable);

// ︽糴砞竚

sheet.setColumnView(0, 15);

sheet.setColumnView(1, 15);

sheet.setColumnView(2, 12);

sheet.setColumnView(3, 15);

sheet.setColumnView(4, 35);

sheet.setColumnView(5, 12);

sheet.setColumnView(6, 15);

sheet.setColumnView(7, 15);

lable = new Label(0, 3, "肚布ら戳", titleFormat);

sheet.addCell(lable);

lable = new Label(1, 3, "肚布絪腹", titleFormat);

sheet.addCell(lable);

lable = new Label(2, 3, "癸禜絪腹", titleFormat);

sheet.addCell(lable);

lable = new Label(3, 3, "癸禜嘿", titleFormat);

sheet.addCell(lable);

lable = new Label(4, 3, "篕璶", titleFormat);

sheet.addCell(lable);

lable = new Label(5, 3, "肂", titleFormat);

sheet.addCell(lable);

lable = new Label(6, 3, "肂璸", titleFormat);

sheet.addCell(lable);

ResultSet rs = DbUtil.exeQuery("exec dbo.Gl_EndDetail @Day = '"

+ date + "', @AcctNo1 = '" + sacct + "', @AcctNo2 = '"

+ eacct + "'");

float f1=0.0f;

int k = 4;

while (rs!=null&&rs.next()) {

float nt_tot=rs.getFloat("nt_tot");

f1+=nt_tot;

lable = new Label(0, k,Tool.deNull(rs.getString("voc_dat")),detFormat);

sheet.addCell(lable);

lable = new Label(1, k,Tool.deNull(rs.getString("voc_no")), detFormat);

sheet.addCell(lable);

lable = new Label(2, k,Tool.deNull(rs.getString("cus_no")), detFormat);

sheet.addCell(lable);

lable = new Label(3, k,Tool.deNull(rs.getString("cus_nam")), detFormat);

sheet.addCell(lable);

lable = new Label(4, k,Tool.deNull(rs.getString("memoa")), detFormat);

sheet.addCell(lable);

lable = new Label(5, k,Tool.changeCash(rs.getFloat("ntac_amt")), detFormat);

sheet.addCell(lable);

lable = new Label(6, k,Tool.changeCash(nt_tot), detFormat);

sheet.addCell(lable);

k++;

}

sheet.mergeCells(0, k + 1,6, 0);

lable = new Label(0, k + 1, "璸肂 "+ Tool.changeCash(f1), detFormat);

sheet.addCell(lable);

book.write();

book.close();

os.flush();

os.close();

} catch (Exception e) {

e.printStackTrace();

}

}

public void init() throws ServletException {

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 可以使用Java的Apache POI库来将txt文件转换Excel文件。具体步骤如下: 1. 导入Apache POI库的依赖。 2. 读取txt文件,将其内容存储到一个二维数组中。 3. 创建一个Excel工作簿对象。 4. 创建一个Excel工作表对象。 5. 遍历二维数组,将数据写入Excel工作表中。 6. 将Excel工作簿对象写入到文件中,即可将txt文件转换Excel文件。 需要注意的是,转换过程中需要对数据进行格式化和校验,以确保转换结果的准确性和可读性。 ### 回答2: 你好,首先我们需要明确的是,Java是一种编程语言,它可以用来编写各种应用程序,包括文件转换工具。那么,如何用Javatxt文件转换excel呢?下面是具体的步骤: 1. 导入必要的库和包 要使用Java来实现文件转换,我们需要导入一些必要的库和包,例如poi、io、lang等。这些库和包可以通过Maven或Gradle进行下载和安装。 2. 读取txt文件内容 接下来,我们需要用Java读取txt文件的内容。这可以通过Java的FileReader和BufferedReader类实现。通过这两个类,我们可以逐行读取txt文件中的信息并将其存储在一个字符串数组中。 3. 创建excel文件及表格 接下来,我们需要创建一个excel文件,并在该文件中创建表格。为此,我们可以使用Apache POI的HSSFWorkbook和HSSFSheet类。这些类可用于创建一个空的excel文件和一个新的表格。 4. 将txt文件内容写入表格 然后,我们需要将txt文件中读取的内容写入excel表格中。为此,我们需要使用HSSFRow和HSSFCell类来创建表格中的行和单元格,并将读取的文本信息写入单元格中。 5. 保存excel文件 最后,我们需要保存excel文件。通过HSSFWorkbook的write方法,我们可以将最终结果写入新创建的excel文件中。 总之,这是一种利用Java实现文件转换的方法。如果你想快速转换文件格式,也可以使用一些现成的Java工具,例如Alibaba的EasyExcel或Apache的POI。这些工具提供了一些内置功能,可以方便地将txt文件转换excel。希望这能够帮助到你! ### 回答3: Java可以通过使用Apache POI将txt文件转换Excel。具体步骤如下: 1. 导入Apache POI库:在Java项目中导入Apache POI所需的jar包。可以在Maven仓库或Apache官网上下载。 2. 创建Excel文档:创建一个新的Excel文档并定义Excel的表头,可参考如下代码: Workbook workbook = new XSSFWorkbook(); Sheet sheet = workbook.createSheet("Sheet1"); Row headerRow = sheet.createRow(0); String[] columns = {"列1", "列2", "列3"}; for (int i = 0; i < columns.length; i++) { Cell cell = headerRow.createCell(i); cell.setCellValue(columns[i]); } 3. 读取txt文件中的内容:使用Java中的文件读写操作,读取txt文件中的内容并逐行解析成数据。 4. 将读取的数据写入Excel表格:将读取的txt文件数据逐行转换成对应的Excel行数据,并将其写入已经定义好的Excel文档中,代码示例如下: int rowCount = 1; while ((line = bufferedReader.readLine()) != null) { String[] data = line.split("\t"); Row row = sheet.createRow(rowCount++); for (int i = 0; i < data.length; i++) { Cell cell = row.createCell(i); cell.setCellValue(data[i]); } } 5. 保存Excel文档:将转换后的Excel文件保存到指定的路径下,代码示例如下: FileOutputStream outputStream = new FileOutputStream("C:/Users/Admin/Desktop/output.xlsx"); workbook.write(outputStream); workbook.close(); outputStream.close(); 以上就是使用Javatxt文件转换Excel的基本步骤,根据具体场景和需求可以进行相应的修改和调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值