用Java将excel读入哈希表列表
我有一个读取excel文件并将其放入列表哈希表的代码。我拥有的代码是:用Java将excel读入哈希表列表,java,Java,我有一个读取excel文件并将其放入列表哈希表的代码。我拥有的代码是: package tests; import java.io.File; import java.io.IOException; import java.util.ArrayList; import java.util.Enumeration; import java.util.Hashtable; import java.util.List; import org.
package tests;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Enumeration;
import java.util.Hashtable;
import java.util.List;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;
import jxl.read.biff.BiffException;
public class ReadExcelTest {
public static Hashtable htable=new Hashtable();
public static List<Hashtable<String,String>> exceldata = new ArrayList<Hashtable<String,String>>();
public static void main() throws IOException{
readexcel(System.getProperty("user.dir")+"//src//config//TestData.xls");
}
@Test
public static void readexcel() throws IOException
{
String inputFile=System.getProperty("user.dir")+"//src//config//TestData.xls";
File inputWorkbook = new File(inputFile);
Workbook w;
Cell firstrowelement = null;
try
{
w = Workbook.getWorkbook(inputWorkbook);
Sheet sheet = w.getSheet(0);
for (int j = 0; j <sheet.getRows(); j++)
{
for (int i = 0; i < sheet.getColumns(); i++)
{
firstrowelement = sheet.getCell(i, 0);
Cell cell = sheet.getCell(i, j);
htable.put(firstrowelement.getContents(),cell.getContents());
System.out.print(firstrowelement.getContents()+"->"+cell.getContents());
}
System.out.println(firstrowelement.getContents());
exceldata.add(j,htable);
}
//printing the list
for(Hashtable hash :exceldata)
{
Enumeration e = hash.keys();
while (e.hasMoreElements()) {
String key = (String) e.nextElement();
System.out.println(key + " : " + hash.get(key));
}
}
}
catch (BiffException e)
{
e.printStackTrace();
}
}
}
包测试;
导入java.io.File;
导入java.io.IOException;
导入java.util.ArrayList;
导入java.util.Enumeration;
导入java.util.Hashtable;
导入java.util.List;
导入org.testng.annotations.BeforeMethod;
导入org.testng.annotations.Test;
进口jxl.Cell;
进口jxl.Sheet;
导入jxl.工作簿;
导入jxl.read.biff.BiffException;
公共类可读性测试{
公共静态哈希表htable=新哈希表();
public static List exceldata=new ArrayList();
公共静态void main()引发IOException{
readexcel(System.getProperty(“user.dir”)+“//src//config//TestData.xls”);
}
@试验
公共静态void readexcel()引发IOException
{
字符串inputFile=System.getProperty(“user.dir”)+“//src//config//TestData.xls”;
文件输入工作簿=新文件(输入文件);
工作手册w;
单元格firstrowelement=null;
尝试
{
w=Workbook.getWorkbook(inputWorkbook);
图纸=w.getSheet(0);
对于(int j=0;j您需要为每一行创建一个新的htable
实际上,您一直在重复使用和更新单个哈希表
(顺便说一句,我更喜欢HashMap而不是HashTable)。非常感谢。哈希表数组解决了我的问题