以下代码是导出dbf文件
public String doCreateDBF(String[] fieldsZh,String[] fields,List list,HttpServletResponse response,int [] datasize) throws IOException{
DBFWriter Writer=new DBFWriter();//首先要创建一个DBFwriter
response.setCharacterEncoding("UTF-8");
OutputStream os=response.getOutputStream();
DynamicPO po = null;
Object rowData[];
DBFField []field=new DBFField[fieldsZh.length];//创建dbf文件的列文件
int rowSize = list.size();
int colSize = field.length;
for(int i=0;i<fields.length;i++){
/*po=(DynamicPO) list.get(0);*/
field[i]=new DBFField();
field[i].setDataType(DBFField.FIELD_TYPE_C);
field[i].setFieldLength(datasize[i]);
field[i].setFieldName((fields[i]));//为每一列设置值
}
Writer.setFields(field);//将列交给writer写入dbf文件
String strValue="";//为类属性定义接受参数
for(int row=0;row<rowSize;row++){
rowData= new Object[colSize];//新建一个列,
po = (DynamicPO) list.get(row);
for(int col=0;col<colSize;col++){
strValue=String.valueOf(po.getProperty(fields[col]));
if(strValue==""||strValue.equals("")||strValue==null||"null".equals(strValue)){
rowData[col]="";
}else{
rowData[col]=strValue.toString();
}
}
Writer.addRecord( rowData);
}
Writer.write(os);
os.close();
return null;
}