Я читаю файл Excel (XSLX), используя Java в NetBeans 7.0.
Я могу прочитать содержимое листа Excel и распечатать его для вывода.
Теперь мне нужно преобразовать данные Excel в файл XML. Теги будут заголовками столбцов, и каждая строка переходит в соответствующие теги.
Это входная рабочая таблица в файле xslx. ID, Переменная, desc и примечания являются заголовками столбцов.
ID Variable Desc Notes
B0001 VSI_C
B0001 1 VSI_C_R
B0001 2 VSI_C_P
B0002 VSI_C_L
B0003 VSI_C_H
B0004 VSI_C_O
Теперь я преобразовываю эти данные в файл XML.
Ожидаемый результат:
<?xml version="1.0" encoding="UTF-8"?>
<Bin_code>
<DCT>
<ID>B0001</ID>
<Variable/>
<Desc>VSI_C</Desc>
<Notes/>
</DCT>
<DCT>
<ID>B0001</ID>
<Variable/>
<Desc>VSI_C_R</Desc>
<Notes/>
</DCT>
............
...............
</Bin_code>
Я пытался до этого. Я знаю, что должен использовать объект «лист». Но я не уверен, как это использовать.
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.io.*;
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 XSLXReader {
public static void main(String[] args)
{
DataInputStream in = null;
BufferedReader br = null;
FileWriter fostream;
FileWriter fostreamBatch;
BufferedWriter out = null;
BufferedWriter outBatch = null;
String strOutputPath = "D:\\Proj\\Current_\\";
String strFilePrefix = "Master 5.2-B";
String strLine;
try {
InputStream inputStream = new FileInputStream(new File("D:\\Proj\\Current_\\Master A-B.xlsx"));
Workbook wb = WorkbookFactory.create(inputStream);
Sheet sheet = wb.getSheet("Bin-code");
in = new DataInputStream(inputStream);
br = new BufferedReader(new InputStreamReader(in));
fostream = new FileWriter(strOutputPath+"\\"+strFilePrefix+".xml");
out = new BufferedWriter(fostream);
out.write("<Bin-code>");
while ((strLine = br.readLine()) != null)
{
out.write("<DCT>");
out.write("<ID>" + strLine.substring(1, strLine.length()) + "</ID>");
out.write("</DCT>");
}
out.write("</Bin-code>");
} catch (Exception e) {
e.printStackTrace();
}
}
* *} Тысяча двадцать-один
Пожалуйста, помогите мне преобразовать входные данные в xslx в выходные данные в xml, как показано выше.
Спасибо
Рамм