我的要求是將數據庫中的值寫入.csv文件併發送相同的電子郵件。用下面的代碼獲取來自DB的值並通過createFile(testFile)方法創建該文件並存儲在服務器位置,然後通過電子郵件發送相同的內容。如何在向csv文件加載值時修改默認分隔符
//取樣輸入數據:
SRT678,紡織STS安全有限公司,OMD,首先,最後
問題是SRT678去COLUMN1,紡織STS安全有限公司 - 列2,OMD - 欄3,但我需要「紡織品STS安全有限公司,OMD「第2欄。我沒有設置任何分隔符爲「,」但我相信默認情況下,「,」是作爲分隔符。
Excel使用系統區域設置 - 列表分隔符來確定要使用哪個默認分隔符。有什麼辦法通過代碼進行更改?我如何跳過「,」在這裏紡織STS安全有限公司,OMD並在Excel中成爲相同的列。
public Object extractData(ResultSet rs) {
List list1 = new ArrayList();
TestFileInfo testFile = new TestFileInfo();
String base_name="UsersInfo";
String file_name=base_name + ".csv";
testFile.setFileName(file_name);
String header_row="empid,empName,firstName,lastName\r\n";
list1.add(header_row);
boolean valid = true;
int total = 0;
while (rs.next()) {
if (valid) {
total ++;
String row = rs.getString("empid")
+ "," + rs.getString("empName")
+ "," + rs.getString("firstName")
+ "," + rs.getString("lastName")
+ "\r\n" ;
list1.add(row);
}
else {
break;
}
}
if (valid)
{
testFile.setTotalRecords(total);
testFile.setRowList(list1);
}
else
{
testFile = null;
}
return testFile;
}
// createFile(testFile);
static public void createFile(TestFileInfo testFile){
List rowList = file.getRowList();
File testFile = new File(location,file.getFileName());
if (!testFile.exists()) {
testFile.createNewFile();
}
FileWriter fstream = new FileWriter(testFile);
BufferedWriter out = new BufferedWriter (fstream);
for (Iterator row = rowList.iterator(); row.hasNext();) {
out.write((String) row.next());
}
out.close();
file.setCsvFile(testFile);
return ;
}
任何您的幫助表示讚賞! 謝謝!
'字符串行= rs.getString( 「EMPID」) + 「」 + rs.getString( 「empName」)'這是什麼 「」 在這裏做什麼? –
'String x = rs.getString(「emid」); if(x.contains(「,」))x =「\」「+ x +」\「」;' –
太棒了!謝謝。它的工作 –