比较Excel.csv与Java中的Oracle数据库
我的任务是将.csv格式的excel文件中的数据与公司的Java oracle数据库进行比较。比较完数据后,我需要写下数据是否与新的.csv文件相同或不同 我已经编写了访问excel文件的读写方法 我不知道如何将excel中的列与oracle数据库中的列进行实际比较 下面是stringbuilder,它让我从表中实际选择数据比较Excel.csv与Java中的Oracle数据库,java,csv,oracle10g,Java,Csv,Oracle10g,我的任务是将.csv格式的excel文件中的数据与公司的Java oracle数据库进行比较。比较完数据后,我需要写下数据是否与新的.csv文件相同或不同 我已经编写了访问excel文件的读写方法 我不知道如何将excel中的列与oracle数据库中的列进行实际比较 下面是stringbuilder,它让我从表中实际选择数据 //*********************************************************************** //SQL str
//***********************************************************************
//SQL string builder
//***********************************************************************
StringBuilder sSQL = new StringBuilder("");
sSQL.append("SELECT * FROM NSA_AL.POLVEHICLE PV");
sSQL.append(" WHERE PV.VIN='?'");
sSQL.append(" AND PV.POLICYID='?'");
sSQL.append(" AND PV.SEGEFFDATE<=TO_DATE('06/10/2012 08:00','MM/DD/YYYY HH24:MI')");
sSQL.append(" AND PV.SEGEXPDATE>=TO_DATE('06/10/2012 08:00','MM/DD/YYYY HH24:MI')");
sSQL.append(" AND PV.SEGSTATUS=");
任何帮助都将不胜感激。最好使用jdbc读取Oracle数据,使用apisay Apache POI读取excel数据并进行比较。您可以使用Apache POI编写/更新excel文件。使用名为toCSV的函数创建一个对象
将生成的CSVfile加载到Excel中,您应该能够在Excel的上下文中比较这些文件。ApachePOI读取CSV文件是一种过分的做法,除非应用程序已经使用它。有很多特定于CSV的库。OpenCSV和SuperCSV是我首先想到的。@Olaf-OpenCSV看起来很适合打开和写入csv文件。如何将csv中的数据与orcale数据库进行比较?@user2355037:就像Jayan说的:通过JDBC将数据从Oracle加载到对象列表或数组中;将CSV文件中的数据加载到同一类型对象的同一集合中;比较集合。如果您按主键对两个集合进行排序,则会有所帮助。如果每个数据集中的对象超过(比如)10万个,那么可能需要一些额外的技巧。
public class MyCSVMapper
{
String[] fields = {"First","Second","Third"};
public String toCSV()
{
String formatted = "";
for(int i = 0; i < formatted.length;i++)
{
if(i == formatted.length-1)
{
formatted+=formatted[i];
break;
}
formatted+=formatted[i]+",";
}
return formatted;
}
}