2016-11-08 5 views
0

期待通りに動作していません。しかし、このコードは新しいExcelを作成していますしかし、唯一の私は、このコードで間違ったつもりだ...は、私は<strong>」</strong>と<strong>"</strong>を交換した後、別に1エクセル(.XLS)の全体の内容をコピーしたい

パブリッククラスの名前を変更{

static HSSFRow row_read = null; 
static HSSFRow row_write = null; 
static Cell cell; 
static FileOutputStream output = null; 
static HSSFWorkbook workbook_read = null; 
static HSSFWorkbook workbook_write = null; 
static HSSFSheet sheet_read = null; 
static HSSFSheet sheet_write = null; 
public static void removechar() 
{ 
try{ 
FileInputStream input = new FileInputStream("inputpath//test_input.xls"); 
workbook_read = new HSSFWorkbook(input); 
sheet_read = workbook_read.getSheet("Report"); 
workbook_write = new HSSFWorkbook(); 
sheet_write = workbook_write.createSheet("Test"); 
DataFormatter formatter = new DataFormatter(); 
int rowCount = sheet_read.getLastRowNum(); 
System.out.println(rowCount); 
for(int rowNum = 0; rowNum<=rowCount; rowNum++) 
{ 
for(int cellNum = 0; cellNum<=7; cellNum++) 
{ 
//Cell cell = null; 
row_read=sheet_read.getRow(rowNum); 
row_write = sheet_write.createRow(rowNum); 
String temp = formatter.formatCellValue(row_read.getCell(cellNum)); 
//System.out.println(temp); 
String temp1 = temp.replaceAll("\'", ""); 
String temp2 = temp1.replaceAll("\"", ""); 
System.out.println(temp2); 
cell = row_write.createCell(cellNum); 
cell.setCellValue(temp2); 
} 
} 

output = new FileOutputStream("outputpath\\test_output.xls"); 
workbook_write.write(output); 

} 
catch(Exception e) 
{ 
    e.printStackTrace(); 
} 

} 
public static void main(String[] argv) throws IOException { 
    Rename.removechar(); 

} 

}

をアドバイスしてください。(私の場合、それは第七列です)最後の列をコピーしますあなた

答えて

1

問題次の行であるが...ありがとうござい

row_read=sheet_read.getRow(rowNum); 
row_write = sheet_write.createRow(rowNum); 

それはそれはのようになりますセルループ(for(int cellNum = 0; cellNum<=7; cellNum++)

外にする必要があります。

for (int rowNum = 0; rowNum <= rowCount; rowNum++) { 
      row_read = sheet_read.getRow(rowNum); 
      row_write = sheet_write.createRow(rowNum); 
      for (int cellNum = 0; cellNum <= 7; cellNum++) { 
       // Cell cell = null; 
String temp = formatter.formatCellValue(row_read.getCell(cellNum)); 

また、あなたはimport static Cell cell;ここ

import HSSFCell cell;には、完全なコードで変更する必要があります。

import java.io.FileInputStream; 
import java.io.FileOutputStream; 
import java.io.IOException; 

import org.apache.poi.hssf.usermodel.HSSFCell; 
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.ss.usermodel.DataFormatter; 

public class Rename { 


    static HSSFRow row_read = null; 
    static HSSFRow row_write = null; 
    static HSSFCell cell; 

    static FileOutputStream output = null; 
    static HSSFWorkbook workbook_read = null; 
    static HSSFWorkbook workbook_write = null; 
    static HSSFSheet sheet_read = null; 
    static HSSFSheet sheet_write = null; 

    public static void removechar() { 
     try { 
      FileInputStream input = new FileInputStream("D://test_input.xls"); 
      workbook_read = new HSSFWorkbook(input); 
      sheet_read = workbook_read.getSheet("Report"); 
      workbook_write = new HSSFWorkbook(); 
      sheet_write = workbook_write.createSheet("Test"); 
      DataFormatter formatter = new DataFormatter(); 
      int rowCount = sheet_read.getLastRowNum(); 
      System.out.println(rowCount); 
      for (int rowNum = 0; rowNum <= rowCount; rowNum++) { 
       row_read = sheet_read.getRow(rowNum); 
       row_write = sheet_write.createRow(rowNum); 
       for (int cellNum = 0; cellNum <= 7; cellNum++) { 
        // Cell cell = null; 
        String temp = formatter.formatCellValue(row_read.getCell(cellNum)); 
        // System.out.println(temp); 
        String temp1 = temp.replaceAll("\'", ""); 
        String temp2 = temp1.replaceAll("\"", ""); 
        System.out.println(temp2); 
        cell = row_write.createCell(cellNum); 
        cell.setCellValue(temp2); 
       } 
      } 

      output = new FileOutputStream("D://test_output.xls"); 
      workbook_write.write(output); 

     } catch (Exception e) { 
      e.printStackTrace(); 
     } 

    } 

    public static void main(String[] argv) throws IOException { 
     Rename.removechar(); 
    } 
} 
+0

このコードの変更が唯一の新しいExcelの最初の行をコピーしている.... :( – aman

+0

は、私は答えに完全なコードを追加して、それが正常に動作します。.. – Jobin

+0

は...それをありがとう魅力的に働いた... :) – aman

関連する問題

 関連する問題