見つかった行データに基づいて Excel の列 (1) の値を合計する必要があります。
私のExcelファイルは次のとおりです。
column(0) column(1)
Row[0] ECIN - INPUT VALUE (ADD) NetTradeAllowanceAmount = -600.00
Row[1] ECIN - INPUT VALUE (ADD) CashDownPayment = 300.00
Row[2] ECIN - INPUT VALUE (ADD) OtherDownPaymentAmount = PATH DOES NOT EXIST
Row[3] ECIN - INPUT VALUE (ADD) CashDownPayment = 400.00
Row[4] ECIN - INPUT VALUE (SUB) OtherDownPaymentAmount = PATH DOES NOT EXIST
Row[5] ECIN - INPUT VALUE (SUB) ManufacturerRebateAmount = 500.00
Row[6] ECIN - INPUT VALUE (SUB) DeferredDownPaymentAmount = -700.00
Row[7] ECIN - INPUT VALUE (SUB) DeferredDownPaymentAmount = 900.00
まず、Column(0) のすべての行を確認する必要があります。
1.add the column(1) values having rows (ADD) data. (eg: SUM= 300.00 + 400.00 - 600.00 = 700.00 - 600.00 = 100.00)
2.add the column(1) values having rows (SUB) data. (eg: SUM=500.00 - 700.00 + 900.00 = 1400.00 - 700.00 = 700.00)
3.then subtract above two SUMs. (eg: 100.00 - 700.00 = 600.00)
この結果を変数に保存し、この値を他のセルに記録する必要があります。
注: 行にデータ (SUB / ADD) がある場合でも、プログラムは値 = PATH DOES NOT EXIST を考慮しないでください。
ある程度、コードを書きました。それは次のとおりです。
import java.io.*;
import java.util.*;
import org.apache.poi.hssf.usermodel.*;
import org.apache.poi.ss.usermodel.*;
public class Hai
{
public static void main(String[] args)
{
try
{
FileInputStream file = new FileInputStream(new File("C:/Users/Excel.xls"));
HSSFWorkbook workbook = new HSSFWorkbook(file);
HSSFSheet sheet = workbook.getSheetAt(5);
Iterator<Row> rowIterator = sheet.iterator();
while(rowIterator.hasNext())
{
Row row = rowIterator.next();
Iterator<Cell> cellIterator = row.cellIterator();
while(cellIterator.hasNext())
{
Cell cell = cellIterator.next();
String Tag=cell.getStringCellValue().toString();
cell = row.getCell(0+1);
if(cell !=null)
if(Tag.contains("ADD"))
{
String Tag1=cell.getStringCellValue().toString();
String[] s= Tag1.split("=");
//System.out.println(s[1]);
if(!s[1].contains("PATH DOES NOT EXIST"))
{
System.out.println(s[1].trim());
}
}
else if(Tag.contains("SUB"))
{
String Tag1=cell.getStringCellValue().toString();
String[] s= Tag1.split("=");
if(!s[1].contains("PATH DOES NOT EXIST"))
{
System.out.println(s[1].trim());
}
}
}
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
私が得ている出力は次のとおりです。
-600.00
300.00
400.00
500.00
-700.00
900.00
上記の値は文字列形式です。これらの値を合計したいと思います。私を助けてください!
上記の値を次のように Flatot に変換しました。
Float foo = Float.parseFloat(s[1].trim());
私が得た出力は次のとおりです。
-600.0
300.0
400.0
2 桁の 10 進数を取得し、これらの値を合計したいと考えています。値を合計できませんでした。
こんな感じですか
import java.io.*;
import java.util.*;
import org.apache.poi.hssf.usermodel.*;
import org.apache.poi.ss.usermodel.*;
public class Hai
{
public static double getSubstraction(double summ, String your)
{
if (your.contains("-"))
{
return main + Double.parseDouble(your.replace("-", ""));
}
else if (your.contains("+"))
{
return main - Double.parseDouble(your.replace("+", ""));
}
else
{
return main - Double.parseDouble(your);
}
}
public static double getSumm(double sub, String your)
{
if (your.contains("-"))
{
return main - Double.parseDouble(your.replace("-", ""));
}
else if (your.contains("+"))
{
return main + Double.parseDouble(your.replace("+", ""));
}
else
{
return main + Double.parseDouble(your);
}
}
public static void main(String[] args)
{
try
{
double summ, sub;
FileInputStream file = new FileInputStream(new File("C:/Users/Pradeep.HALCYONTEKDC/Desktop/19-04-2013.xls"));
HSSFWorkbook workbook = new HSSFWorkbook(file);
HSSFSheet sheet = workbook.getSheetAt(5);
Iterator<Row> rowIterator = sheet.iterator();
while(rowIterator.hasNext())
{
Row row = rowIterator.next();
Iterator<Cell> cellIterator = row.cellIterator();
while(cellIterator.hasNext())
{
Cell cell = cellIterator.next();
String Tag=cell.getStringCellValue().toString();
cell = row.getCell(0+1);
if(cell !=null)
if(Tag.contains("ADD"))
{
String Tag1=cell.getStringCellValue().toString();
String[] s= Tag1.split("=");
//System.out.println(s[1]);
if(!s[1].contains("PATH DOES NOT EXIST"))
{
getSumm() ;
Float foo = Float.parseFloat(s[1].trim());
System.out.println("1---- "+foo);
for(int i=0; i<5;i++)
{
foo+=foo;
//System.out.println(foo);
}
}
}
else if(Tag.contains("SUB"))
{
String Tag1=cell.getStringCellValue().toString();
String[] s= Tag1.split("=");
if(!s[1].contains("PATH DOES NOT EXIST"))
{
getSubstraction();
System.out.println(s[1].trim());
}
}
}
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
これで私を助けてください。