❶ c#如何實現對表格(excel)的增刪改查
一、首先處理好資料庫連接字串
Excel2000-2003: string connStr = "Microsoft.Jet.Oledb.4.0;Data Source='c:\test.xls';Extended Properties=\"Excel 8.0;HDR=Yes;IMEX=1\";";
Excel2007: string connStr = "Microsoft.Ace.OleDb.12.0;Data Source='c:\test.xlsx';Extended Properties=\"Excel 12.0;HDR=Yes;IMEX=1\";";
其中:
HDR ( Header Row )設置:
若指定值為Yes,代表 Excel 檔中的工作表第一行是欄位名稱
若指定值為 No,代表 Excel 檔中的工作表第一行就是資料了,沒有欄位名稱
IMEX ( IMport EXport mode )設置
當 IMEX=0 時為"匯出模式",這個模式開啟的 Excel 檔案只能用來做"寫入"用途。
當 IMEX=1 時為"匯入模式",這個模式開啟的 Excel 檔案只能用來做"讀取"用途。
當 IMEX=2 時為"連結模式",這個模式開啟的 Excel 檔案可同時支援"讀取"與"寫入"用途。
二、進行表格數據的查詢、插入和更新:
(假設Excel文件text.xls中存在Excel表單tree,有2列分別為id,name)
1、查詢
String sql = "select id, name from [tree$]";
或
String sql = "select id, name from `tree$`;
2、插入
String sql = "insert into [tree$] (id,name) values(1,'testname');
3、更新
String sql = "update [tree$] set name='name2' where id=1;
4、數據的刪除
在OleDB的連接方式下,不可以使用delete from 語句來刪除某表中的某一條記錄。確切的說,在此模式下,將無法刪除表中的記錄。即使用update語句將所有的欄位寫成null,打開excel文件後依然會發現保留了該空行,而且在使用oleDB連接進行查詢時,依然會查詢到這條空數據。
❷ java io流對文件的增刪改查
可以通過BufferedReader 流的形式進行流讀取,之後通過readLine方法獲取到的內容,之後通過if判斷來實現在某些特定位置的查找、增加、刪除、修改操作。
舉例:
BufferedReader bre = null;
OutputStreamWriter pw = null;//定義一個流
try {
String file = "D:/test/test.txt";
bre = new BufferedReader(new FileReader(file));//此時獲取到的bre就是整個文件的緩存流
pw = new OutputStreamWriter(new FileOutputStream(「D:/test.txt」),"GBK");//確認流的輸出文件和編碼格式,此過程創建了「test.txt」實例
while ((str = bre.readLine())!= null) // 判斷最後一行不存在,為空結束循環
{
if(str.indexOf("排除")<0){//判斷是否需要舍棄
pw.write(str);//將要寫入文件的內容,可以多次write
}
}
bre.close();//關閉流
pw.close();//關閉流
解釋:以上方法是實現的刪除,if中的條件改變下,即可實現其餘的功能。
備註:文件流用完之後必須及時通過close方法關閉,否則會一直處於打開狀態,直至程序停止,增加系統負擔。