У меня есть программа (ниже), которая принимает файлы txt и помещает их в электронную таблицу Excel. Моя цель — извлечь данные из текстового файла, но только текст после двоеточия.
Пример txt-файла (нет пробела между строками «Имя:» и «Телефон:» в txt):
Name: John doe
Phone: (xxx) xxx-xxxx
Я хочу, чтобы моя программа сохраняла только Джона Доу на листе Excel и устанавливала заголовок столбца «Имя»..
Я хочу, чтобы моя программа сохраняла только (xxx) xxx-xxxx на листе Excel и устанавливала заголовок столбца «Телефон»..
Я хочу иметь возможность добавлять несколько записей в электронную таблицу.
Пример (в созданном листе Excel): Это то, что я хочу это должно выглядеть так!
A
B
1
Имя
Телефон
2
Джон Доу
(123) 123-1234
3
Джек Ди
(123) 123-1231
Итак, я посмотрел на разделение строк, чтобы получить только данные после :, но не смог найти по нему много документации. Также необходимо правильно выстроить информацию в Excel.
Любая помощь будет очень признательна.
package EREW;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
import java.util.Scanner;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRichTextString;
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.openxml4j.exceptions.InvalidFormatException;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.ss.usermodel.WorkbookFactory;
public class ReadWriteXL
{
public static void main(String[] args) throws InvalidFormatException, IOException{
ArrayList arr=new ArrayList();
File f=new File("F:\\temp\\TEXT\\email.txt");
Scanner in=new Scanner(f);
System.out.println("Read Data From The Txt file ");
while(in.hasNext())
{
arr.add(in.nextLine());
}
System.out.println("Data From ArrayList");
System.out.println(arr);
System.out.println("Write data to an Excel Sheet");
FileOutputStream fos=new FileOutputStream("F:/temp/1.xls");
HSSFWorkbook workBook = new HSSFWorkbook();
HSSFSheet spreadSheet = workBook.createSheet("email");
HSSFRow row;
HSSFCell cell;
for(int i=0;i