나는 txt 파일을 받아 엑셀 스프레드 시트에 넣는 프로그램 (아래)을 가지고있다. 필자의 목표는 텍스트 파일에서 데이터를 추출하는 것이지만 콜론 뒤에 텍스트 만 추출하는 것입니다.txt 파일에서 데이터를 가져와 Excel 스프레드 시트로 보내려면 어떻게해야합니까? (txt 파일의 ":"다음에 오는 모든 것을 원합니다)?
예 txt 파일 (사이에 공백 "이름"과 "전화 :"는 TXT의 행) :
이름 : 존 미상
전화 : (XXX) XXX-XXXX
내 프로그램이 Excel 시트 및 제목 "이름"열에 내 존 프로그램을 저장하려면 : Excel (xxx) xxx-xxxx 만 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<arr.size();i++){
row = spreadSheet.createRow((short) i);
cell = row.createCell(i);
System.out.println(arr.get(i));
cell.setCellValue(arr.get(i).toString());
}
System.out.println("Done");
workBook.write(fos);
arr.clear();
System.out.println("ReadIng From Excel Sheet");
FileInputStream fis = null;
fis = new FileInputStream("F:/temp/1.xls");
HSSFWorkbook workbook = new HSSFWorkbook(fis);
HSSFSheet sheet = workbook.getSheetAt(0);
Iterator rows = sheet.rowIterator();
while (rows.hasNext()) {
HSSFRow row1 = (HSSFRow) rows.next();
Iterator cells = row1.cellIterator();
while (cells.hasNext()) {
HSSFCell cell1 = (HSSFCell) cells.next();
arr.add(cell1);
}
}
System.out.println(arr);
}}
프로그래밍에 익숙하지 않은 나는 의사 코드가 무엇인지 찾아야했다 : 어떤 외부 대 내부인지 확실하지 않은가? 카운트? – NILE
외부 카운트는 FOR 바깥에서 정의되고'rowNumber' 내부에서 증가하는 변수입니다. 내부 카운트는 for에 사용 된 것이고,이 경우에는'i'입니다. 가짜 코드는 언어의 진정한 진정성이 아니라 어떻게 프로그래밍해야 하는지를 보여주는 방법 일뿐입니다. 뭔가를하고 변수를 테스트 한 다음 다른 변수를 합친 다음 프로그램을 완성합니다. –
이것은 java의 두 번째 프로젝트입니다. (끝내고 싶습니다) 실제로 데이터를 조작 할 수있는 실제 프로그램입니다. -------------------------------------------------- 그래서 셀 생성을 Excel에서 얻었습니다. 아무 문제없이 셀을 만들었지 만 문제는 텍스트 파일에서 코드를 가져와야 할 때입니다. 그것은 스프레드 시트와 일치하지 않을 것이다. 예 : a1 b2 c3. 무슨 일이 일어나는지 알 수 있도록 코드를 작성하는 더 쉬운 방법이 있어야합니다. 예를 들어 의사 코드 : array (arr)에서 첫 번째 라인 가져 오기> ":"다음에 데이터 만 가져 오기> 행 및 셀 만들기> 셀 뒤에 입력 정보 : ":" – NILE