『壹』 c#導入excel 判斷execel並替換
/// <summary>
/// 導入數據
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnImporting_OnClick(object sender, EventArgs e)
{
//文件的絕對路徑
string tempFile = "D:\\0709.xlsx";
FileStream fs = new FileStream(tempFile, FileMode.Open, FileAccess.Read);
IWorkbook workbook = new XSSFWorkbook(fs);
//頁數
int tableIndex = workbook.NumberOfSheets;
//循環文件
for (int j = 0; j < tableIndex; j++)
{
//讀取當前頁數據
ISheet sheet = workbook.GetSheetAt(j); //讀取當前表數據
//當前頁的行數
int totalRows = sheet.LastRowNum;
//開始讀取行數
int i = 2;
//循環讀取每一行數據
for (; i <= sheet.LastRowNum; i++)
{
//如果當前行為空的話返回
if (sheet.GetRow(i) == null)
{
break;
}
IRow row = sheet.GetRow(i);
//讀取這一行的 第一列 可以依次取 然後再這邊判斷是否是你想的的數據
//這里讀取的是第一列的 取其他列可以模仿這一個
if (row.GetCell(0) != null && !string.IsNullOrEmpty(row.GetCell(0).ToString().Trim()))
{
//導入的數據有{}括弧 去除
string query = row.GetCell(0).ToString().TrimStart('}');
query = query.TrimEnd('}');
//是否是你要的數據
if(true)
{
//插入到資料庫 或者賦值給集合 最後在一起插入到資料庫
}else
{
//繼續
continue;
}
}
//寫入資料庫
}
Alert.Show("導入完成!");
}
純手寫 不知道是否給你想要的一樣
『貳』 java程序控制excel導入導出資料庫信息 需要什麼jar包嗎
用jxl來實現
import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;public String importEnter(HttpServletRequest request) {
Connection conn = null;
PreparedStatement ps = null;
OpenDbBean db = new OpenDbBean();
String message = "";
try {
ServletInputStream is = request.getInputStream();
byte[] junk = new byte[1024];
int bytesRead = 0;
//去掉瀏覽器發送的垃圾信息
bytesRead = is.readLine(junk, 0, junk.length);
bytesRead = is.readLine(junk, 0, junk.length);
bytesRead = is.readLine(junk, 0, junk.length);
bytesRead = is.readLine(junk, 0, junk.length);
Workbook workbook = Workbook.getWorkbook(is);
//取得第一個工作錄
Sheet sheet = workbook.getSheet(0);
//從第二行開始取數據並處理
Enter enter = new Enter();
//連接資料庫
conn = db.getConnection();
String sql =
"insert into haocai_enter(enter_id,enter_time,amount,jsr,type_id,xh)"
+ " values(s_enter_id.nextval,to_date(?,'dd/mm/yyyy'),?,?,?,?)";
ps = conn.prepareStatement(sql);
int okCount = 0;
ArrayList errorRows = new ArrayList();
for (int i = 1; i < sheet.getRows(); i++) {
DB mydb = new DB();
Cell[] c = sheet.getRow(i);
String type_id = enter.getTypeIdByPm(c[PM].getContents());
if (type_id != null) {
//設置入庫數據
ps.setString(1, c[ENTER_TIME].getContents());
ps.setString(2, c[AMOUNT].getContents());
ps.setString(3, c[JSR].getContents());
ps.setString(4, type_id);
ps.setString(5, c[XH].getContents());
ps.addBatch();
okCount++;
} else {
message += "<br>第" + i + "行 " + c[PM].getContents() + " 導入失敗";
}
}
//執行該批過程
if (okCount > 0) {
ps.executeBatch();
}
message += "<br>成功導入" + okCount + " 行";
workbook.close();
} catch (Exception e) {
System.out.println(e.getMessage());
message += "<br>" + e.getMessage();
} finally {
try {
db.CleanConnection(conn, ps, null);
} catch (SQLException e1) {
e1.printStackTrace();
}
}
return message;
}
用jxl.jar或者poi都可以,poi可以到apache網站上去下。
利用Java 創建和讀取Excel文檔
為了保證示常式序的運行,必須安裝Java 2 sdk1.4.0 和Jakarta POI,Jakarta POI的Web站點是:
示例1將演示如何利用Jakarta POI API 創建Excel 文檔。
示例1程序如下:
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFCell;
import java.io.FileOutputStream;
public class CreateXL {
/** Excel 文件要存放的位置,假定在D盤JTest目錄下*/
public static String outputFile="D:/JTest/ gongye.xls";
public static void main(String argv[])
{
try
{
// 創建新的Excel 工作簿
HSSFWorkbook workbook = new HSSFWorkbook();
// 在Excel工作簿中建一工作表,其名為預設值
// 如要新建一名為"效益指標"的工作表,其語句為:
// HSSFSheet sheet = workbook.createSheet("效益指標");
HSSFSheet sheet = workbook.createSheet();
// 在索引0的位置創建行(最頂端的行)
HSSFRow row = sheet.createRow((short)0);
//在索引0的位置創建單元格(左上端)
HSSFCell cell = row.createCell((short) 0);
// 定義單元格為字元串類型
cell.setCellType(HSSFCell.CELL_TYPE_STRING);
// 在單元格中輸入一些內容
cell.setCellValue("增加值");
// 新建一輸出文件流
FileOutputStream fOut = new FileOutputStream(outputFile);
// 把相應的Excel 工作簿存檔
workbook.write(fOut);
fOut.flush();
// 操作結束,關閉文件
fOut.close();
System.out.println("文件生成...");
}catch(Exception e) {
System.out.println("已運行 xlCreate() : " + e );
}
}
}
讀取Excel文檔中的數據
示例2將演示如何讀取Excel文檔中的數據。假定在D盤JTest目錄下有一個文件名為gongye.xls的Excel文件。
示例2程序如下:
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFCell;
import java.io.FileInputStream;
public class ReadXL {
/** Excel文件的存放位置。注意是正斜線*/
public static String fileToBeRead="D:/JTest/ gongye.xls";
public static void main(String argv[]){
try{
// 創建對Excel工作簿文件的引用
HSSFWorkbook workbook = new HSSFWorkbook(new FileInputStream(fileToBeRead));
// 創建對工作表的引用。
// 本例是按名引用(讓我們假定那張表有著預設名"Sheet1")
HSSFSheet sheet = workbook.getSheet("Sheet1");
// 也可用getSheetAt(int index)按索引引用,
// 在Excel文檔中,第一張工作表的預設索引是0,
// 其語句為:HSSFSheet sheet = workbook.getSheetAt(0);
// 讀取左上端單元
HSSFRow row = sheet.getRow(0);
HSSFCell cell = row.getCell((short)0);
// 輸出單元內容,cell.getStringCellValue()就是取所在單元的值
System.out.println("左上端單元是: " + cell.getStringCellValue());
}catch(Exception e) {
System.out.println("已運行xlRead() : " + e );
}
}
}
設置單元格格式
在這里,我們將只介紹一些和格式設置有關的語句,我們假定workbook就是對一個工作簿的引用。在Java
中,第一步要做的就是創建和設置字體和單元格的格式,然後再應用這些格式:
1、創建字體,設置其為紅色、粗體:
HSSFFont font = workbook.createFont();
font.setColor(HSSFFont.COLOR_RED);
font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
2、創建格式
HSSFCellStyle cellStyle= workbook.createCellStyle();
cellStyle.setFont(font);
3、應用格式
HSSFCell cell = row.createCell((short) 0);
cell.setCellStyle(cellStyle);
cell.setCellType(HSSFCell.CELL_TYPE_STRING);
cell.setCellValue("標題 ");
總之,如本篇文章所演示的一樣,Java程序員不必擔心Excel工作表中的數據了,利用Jakarta POI API,
我們就可以輕易的在程序中存取Excel文檔。
『叄』 如何把VB中產生的數據放進Excel
可以試試 ACCESS----》文件----》獲取外部數據-----》導入----》文件類型 選擇 Microsoft Excel----》根據提示可以完成導入!
VB 要很多的代碼
祝你好運
如果你非得用vb那以下代碼 僅供參考
VB是常用的應用軟體開發工具之一,由於VB的報表功能有限,而且一但報表格式發生變化,就得相應修改程序,給應用軟體的維護工作帶來極大的不便。因此有很多程序員現在已經充分利用EXECL的強大報表功來實現報表功能。但由於VB與EXCEL由於分別屬於不同的應用系統,如何把它們有機地結合在一起,是一個值得我們研究的課題。
一、 VB讀寫EXCEL表:
VB本身提自動化功能可以讀寫EXCEL表,其方法如下:
1、在工程中引用Microsoft Excel類型庫:
從"工程"菜單中選擇"引用"欄;選擇Microsoft Excel 9.0 Object Library(EXCEL2000),然後選擇"確定"。表示在工程中要引用EXCEL類型庫。
2、在通用對象的聲明過程中定義EXCEL對象:
Dim xlApp As Excel.Application
Dim xlBook As Excel.WorkBook
Dim xlSheet As Excel.Worksheet
3、在程序中操作EXCEL表常用命令:
Set xlApp = CreateObject("Excel.Application") '創建EXCEL對象
Set xlBook = xlApp.Workbooks.Open("文件名") '打開已經存在的EXCEL工件簿文件
xlApp.Visible = True '設置EXCEL對象可見(或不可見)
Set xlSheet = xlBook.Worksheets("表名") '設置活動工作表
xlSheet.Cells(row, col) =值 '給單元格(row,col)賦值
xlSheet.PrintOut '列印工作表
xlBook.Close (True) '關閉工作簿
xlApp.Quit '結束EXCEL對象
Set xlApp = Nothing '釋放xlApp對象
xlBook.RunAutoMacros (xlAutoOpen) '運行EXCEL啟動宏
xlBook.RunAutoMacros (xlAutoClose) '運行EXCEL關閉宏
4、在運用以上VB命令操作EXCEL表時,除非設置EXCEL對象不可見,否則VB程序可繼續執行其它操作,也能夠關閉EXCEL,同時也可對EXCEL進行操作。但在EXCEL操作過程中關閉EXCEL對象時,VB程序無法知道,如果此時使用EXCEL對象,則VB程序會產生自動化錯誤。形成VB程序無法完全控制EXCEL的狀況,使得VB與EXCEL脫節。
二、 EXCEL的宏功能:
EXCEL提供一個Visual Basic編輯器,打開Visual Basic編輯器,其中有一工程屬性窗口,點擊右鍵菜單的"插入模塊",則增加一個"模塊1",在此模塊中可以運用Visual Basic語言編寫函數和過程並稱之為宏。其中,EXCEL有兩個自動宏:一個是啟動宏(Sub Auto_Open()),另一個是關閉宏(Sub Auto_Close())。它們的特性是:當用EXCEL打含有啟動宏的工簿時,就會自動運行啟動宏,同理,當關閉含有關閉宏的工作簿時就會自動運行關閉宏。但是通過VB的自動化功能來調用EXCEL工作表時,啟動宏和關閉宏不會自動運行,而需要在VB中通過命令xlBook.RunAutoMacros (xlAutoOpen)和xlBook.RunAutoMacros (xlAutoClose) 來運行啟動宏和關閉宏。
三、 VB與EXCEL的相互勾通:
充分利用EXCEL的啟動宏和關閉宏,可以實現VB與EXCEL的相互勾通,其方法如下:
在EXCEL的啟動宏中加入一段程序,其功能是在磁碟中寫入一個標志文件,同時在關閉宏中加入一段刪除此標志文件的程序。VB程序在執行時通過判斷此標志文件存在與否來判斷EXCEL是否打開,如果此標志文件存在,表明EXCEL對象正在運行,應該禁止其它程序的運行。如果此標志文件不存在,表明EXCEL對象已被用戶關閉,此時如果要使用EXCEL對象運行,必須重新創建EXCEL對象。
四、舉例:
1、在VB中,建立一個FORM,在其上放置兩個命令按鈕,將Command1的Caption屬性改為EXCEL,Command2的Caption屬性改為End。然後在其中輸入如下程序:
Dim xlApp As Excel.Application '定義EXCEL類
Dim xlBook As Excel.Workbook '定義工件簿類
Dim xlsheet As Excel.Worksheet '定義工作表類
Private Sub Command1_Click() '打開EXCEL過程
If Dir("D:\temp\excel.bz") = "" Then '判斷EXCEL是否打開
Set xlApp = CreateObject("Excel.Application") '創建EXCEL應用類
xlApp.Visible = True '設置EXCEL可見
Set xlBook = xlApp.Workbooks.Open("D:\temp\bb.xls") '打開EXCEL工作簿
Set xlsheet = xlBook.Worksheets(1) '打開EXCEL工作表
xlsheet.Activate '激活工作表
xlsheet.Cells(1, 1) = "abc" '給單元格1行駛列賦值
xlBook.RunAutoMacros (xlAutoOpen) 運行EXCEL中的啟動宏
Else
MsgBox ("EXCEL已打開")
End If
End Sub
Private Sub Command2_Click()
If Dir("D:\temp\excel.bz") <> "" Then '由VB關閉EXCEL
xlBook.RunAutoMacros (xlAutoClose) '執行EXCEL關閉宏
xlBook.Close (True) '關閉EXCEL工作簿
xlApp.Quit '關閉EXCEL
End If
Set xlApp = Nothing '釋放EXCEL對象
End
End Sub
2、在D盤根目錄上建立一個名為Temp的子目錄,在Temp目錄下建立一個名為"bb.xls"的EXCEL文件。
3、在"bb.xls"中打開Visual Basic編輯器,在工程窗口中點滑鼠鍵選擇插入模塊,在模塊中輸入入下程序存檔:
Sub auto_open()
Open "d:\temp\excel.bz" For Output As #1 '寫標志文件
Close #1
End Sub
Sub auto_close()
Kill "d:\temp\excel.bz" '刪除標志文件
End Sub
4、運行VB程序,點擊EXCEL按鈕可以打開EXCEL系統,打開EXCEL系統後,VB程序和EXCEL分別屬兩個不同的應用系統,均可同時進行操作,由於系統加了判斷,因此在VB程序中重復點擊EXCEL按鈕時會提示EXCEL已打開。如果在EXCEL中關閉EXCEL後再點EXCEL按鈕,則會重新打開EXCEL。而無論EXCEL打開與否,通過VB程序均可關閉EXCEL。這樣就實現了VB與EXCEL的無縫連接。
引用方法為:點擊VB工程菜單,選擇引用,選擇Microsoft DAO 3.6 Compatibility Library並確定
'------------------------------------------------
Private Sub Form_Load() '窗口load過程
Dim myDb As Database
Dim myTb As Recordset
Set myDb = OpenDatabase("c:\data.mdb") '打開資料庫文件
Set myTb = myDb.OpenRecordset("xpress") '打開表文件
If myTb.RecordCount < 4 Then '表文件記錄小於4條退出程序
Set myTb = Nothing
Set myDb = Nothing
Exit Sub
End If
myTb.MoveFirst '記錄指針移動到第一條
myTb.Move 2 '記錄指針向下移動2條即移動到第三條
Text1.Text = myTb!DefaultValue 'text1賦值為xpress表的DefaultValue欄位的第三條記錄
myTb.MoveNext '記錄指針下移一條
Text2.Text = myTb!DefaultValue 'text2賦值為xpress表的DefaultValue欄位的第四條記錄
Set myTb = Nothing
Set myDb = Nothing
End Sub
Private Sub Command1_Click()
Dim myDb As Database
Dim myTb As Recordset
Set myDb = OpenDatabase("c:\data.mdb")
Set myTb = myDb.OpenRecordset("xpress")
myTb.MoveFirst '記錄指針移動到第一條
myTb.Move 2 '記錄指針下移到第三條
myTb.Edit '資料庫為編輯狀態
myTb!DefaultValue = Text1.Text '資料庫xpress表的DefaultValue欄位第三條賦值為text1的文本
myTb.Update '保存更改的記錄
myTb.MoveNext '記錄指針下移一條到第四條
myTb.Edit
myTb!DefaultValue = Text2.Text
myTb.Update
Set myTb = Nothing
Set myDb = Nothing
End Sub
另外,團IDC網上有許多產品團購,便宜有口碑
『肆』 如何將Excel中的數據導入到Access資料庫中
一些程序員需要將Excel中的數據導入Access資料庫中,編寫一個另外的程序,因為excel和access都是office產品,是可以實現excel數據導入access資料庫的。
工具原料:excel、Access
1、首先准備好需要導入的excel表,並查看數據無誤。
2、打開Access資料庫,在資料庫上方有一個外部數據,點擊外部數據存在一個「導入Excel表格功能」,點擊該功能開始執行導入操作。
『伍』 如何把數據從網頁中直接導入到excel中
方法/步驟
首先:我們現來做個練習,新建一個工作表
然後:打開菜單「數據」->「導入外部數據」->「新建 Web 查詢」,在「新建 Web 查詢」的地址欄中輸入網頁的網址,並點擊「轉到」
然後:查找到對應的表格,點擊所在表格左上方的箭頭
然後:點擊箭頭完成勾選後,點擊「導入」
然後:選擇導入數據的位置,點擊「確定」
然後:等待數據導入
最後:數據導入完成
『陸』 在Excel表格中怎樣修改導入的數據和原先的一樣
在Excel表格中怎樣修改導入的數據和原先的一樣?按序號查找並返回結果:
=VLOOKUP(B10,Sheet2!$A$7:$C$13,3,0)
按姓名查找並返回結果:
=VLOOKUP(C10,Sheet2!$B$7:$C$13,2,0)
隨便選一條公式用。
其中Sheet2是第二個表的工作表名稱。手機沒安裝多少軟體,但是很占運行內存,是因為以下原因:
1、手機本身內存比較少,而安裝的程序佔用內存比較大,導致內存緊張。
2、安卓系統有個特殊機制就是自動啟動。開機後,有些程序雖然用戶不使用,但會自動在後台啟動佔用內存。老版本的安卓,需要root後禁用自啟即可解決,比如獵豹清理大師,就可以自動禁不必要的自啟。新版本的5.0以後的安卓,本身帶有內存管理器,可以禁自啟。
3、安卓系統是由很多小程序組成的。每一項基本功能,比如撥號、發簡訊、鈴聲等,都是一些小的應用。開機的時候,這些應用都會在後台啟動。有些不一定用得到的,比如電子郵箱等,也一直在後台佔用內存。
手機的內存,分為存儲內存和運行內存。安裝軟體,主要佔用的是存儲內存,而軟體後台啟動才會佔用運行內存。安卓手機運行內存少的情況下會變得很卡。
『柒』 使用java將資料庫中的數據導出到excel中
用jxl來實現
import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;public String importEnter(HttpServletRequest request) {
Connection conn = null;
PreparedStatement ps = null;
OpenDbBean db = new OpenDbBean();
String message = "";
try {
ServletInputStream is = request.getInputStream();
byte[] junk = new byte[1024];
int bytesRead = 0;
//去掉瀏覽器發送的垃圾信息
bytesRead = is.readLine(junk, 0, junk.length);
bytesRead = is.readLine(junk, 0, junk.length);
bytesRead = is.readLine(junk, 0, junk.length);
bytesRead = is.readLine(junk, 0, junk.length);
Workbook workbook = Workbook.getWorkbook(is);
//取得第一個工作錄
Sheet sheet = workbook.getSheet(0);
//從第二行開始取數據並處理
Enter enter = new Enter();
//連接資料庫
conn = db.getConnection();
String sql =
"insert into haocai_enter(enter_id,enter_time,amount,jsr,type_id,xh)"
+ " values(s_enter_id.nextval,to_date(?,'dd/mm/yyyy'),?,?,?,?)";
ps = conn.prepareStatement(sql);
int okCount = 0;
ArrayList errorRows = new ArrayList();
for (int i = 1; i < sheet.getRows(); i++) {
DB mydb = new DB();
Cell[] c = sheet.getRow(i);
String type_id = enter.getTypeIdByPm(c[PM].getContents());
if (type_id != null) {
//設置入庫數據
ps.setString(1, c[ENTER_TIME].getContents());
ps.setString(2, c[AMOUNT].getContents());
ps.setString(3, c[JSR].getContents());
ps.setString(4, type_id);
ps.setString(5, c[XH].getContents());
ps.addBatch();
okCount++;
} else {
message += "<br>第" + i + "行 " + c[PM].getContents() + " 導入失敗";
}
}
//執行該批過程
if (okCount > 0) {
ps.executeBatch();
}
message += "<br>成功導入" + okCount + " 行";
workbook.close();
} catch (Exception e) {
System.out.println(e.getMessage());
message += "<br>" + e.getMessage();
} finally {
try {
db.CleanConnection(conn, ps, null);
} catch (SQLException e1) {
e1.printStackTrace();
}
}
return message;
}
用jxl.jar或者poi都可以,poi可以到apache網站上去下。
利用Java 創建和讀取Excel文檔
為了保證示常式序的運行,必須安裝Java 2 sdk1.4.0 和Jakarta POI,Jakarta POI的Web站點是: http://jakarta.apache.org/poi/
示例1將演示如何利用Jakarta POI API 創建Excel 文檔。
示例1程序如下:
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFCell;
import java.io.FileOutputStream;
public class CreateXL {
/** Excel 文件要存放的位置,假定在D盤JTest目錄下*/
public static String outputFile="D:/JTest/ gongye.xls";
public static void main(String argv[])
{
try
{
// 創建新的Excel 工作簿
HSSFWorkbook workbook = new HSSFWorkbook();
// 在Excel工作簿中建一工作表,其名為預設值
// 如要新建一名為"效益指標"的工作表,其語句為:
// HSSFSheet sheet = workbook.createSheet("效益指標");
HSSFSheet sheet = workbook.createSheet();
// 在索引0的位置創建行(最頂端的行)
HSSFRow row = sheet.createRow((short)0);
//在索引0的位置創建單元格(左上端)
HSSFCell cell = row.createCell((short) 0);
// 定義單元格為字元串類型
cell.setCellType(HSSFCell.CELL_TYPE_STRING);
// 在單元格中輸入一些內容
cell.setCellValue("增加值");
// 新建一輸出文件流
FileOutputStream fOut = new FileOutputStream(outputFile);
// 把相應的Excel 工作簿存檔
workbook.write(fOut);
fOut.flush();
// 操作結束,關閉文件
fOut.close();
System.out.println("文件生成...");
}catch(Exception e) {
System.out.println("已運行 xlCreate() : " + e );
}
}
}
讀取Excel文檔中的數據
示例2將演示如何讀取Excel文檔中的數據。假定在D盤JTest目錄下有一個文件名為gongye.xls的Excel文件。
示例2程序如下:
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFCell;
import java.io.FileInputStream;
public class ReadXL {
/** Excel文件的存放位置。注意是正斜線*/
public static String fileToBeRead="D:/JTest/ gongye.xls";
public static void main(String argv[]){
try{
// 創建對Excel工作簿文件的引用
HSSFWorkbook workbook = new HSSFWorkbook(new FileInputStream(fileToBeRead));
// 創建對工作表的引用。
// 本例是按名引用(讓我們假定那張表有著預設名"Sheet1")
HSSFSheet sheet = workbook.getSheet("Sheet1");
// 也可用getSheetAt(int index)按索引引用,
// 在Excel文檔中,第一張工作表的預設索引是0,
// 其語句為:HSSFSheet sheet = workbook.getSheetAt(0);
// 讀取左上端單元
HSSFRow row = sheet.getRow(0);
HSSFCell cell = row.getCell((short)0);
// 輸出單元內容,cell.getStringCellValue()就是取所在單元的值
System.out.println("左上端單元是: " + cell.getStringCellValue());
}catch(Exception e) {
System.out.println("已運行xlRead() : " + e );
}
}
}
設置單元格格式
在這里,我們將只介紹一些和格式設置有關的語句,我們假定workbook就是對一個工作簿的引用。在Java
中,第一步要做的就是創建和設置字體和單元格的格式,然後再應用這些格式:
1、創建字體,設置其為紅色、粗體:
HSSFFont font = workbook.createFont();
font.setColor(HSSFFont.COLOR_RED);
font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
2、創建格式
HSSFCellStyle cellStyle= workbook.createCellStyle();
cellStyle.setFont(font);
3、應用格式
HSSFCell cell = row.createCell((short) 0);
cell.setCellStyle(cellStyle);
cell.setCellType(HSSFCell.CELL_TYPE_STRING);
cell.setCellValue("標題 ");
總之,如本篇文章所演示的一樣,Java程序員不必擔心Excel工作表中的數據了,利用Jakarta POI API,
我們就可以輕易的在程序中存取Excel文檔。
『捌』 如何用VB或是VBA,把某一個網頁的對應的數據提取到EXCEL表中讓自動和網站一起更新
VB是常用的應用軟體開發工具之一,由於VB的報表功能有限,而且一但報表格式發生變化,就得相應修改程序,給應用軟體的維護工作帶來極大的不便。因此有很多程序員現在已經充分利用EXECL的強大報表功來實現報表功能。但由於VB與EXCEL由於分別屬於不同的應用系統,如何把它們有機地結合在一起,是一個值得我們研究的課題。一、 VB讀寫EXCEL表:VB本身提自動化功能可以讀寫EXCEL表,其方法如下:1、在工程中引用Microsoft Excel類型庫:從"工程"菜單中選擇"引用"欄;選擇Microsoft Excel 9.0 Object Library(EXCEL2000),然後選擇"確定"。表示在工程中要引用EXCEL類型庫。2、在通用對象的聲明過程中定義EXCEL對象:Dim xlApp As Excel.ApplicationDim xlBook As Excel.WorkBookDim xlSheet As Excel.Worksheet
3、在程序中操作EXCEL表常用命令:Set xlApp = CreateObject("Excel.Application") '創建EXCEL對象Set xlBook = xlApp.Workbooks.Open("文件名") '打開已經存在的EXCEL工件簿文件xlApp.Visible = True '設置EXCEL對象可見(或不可見)Set xlSheet = xlBook.Worksheets("表名") '設置活動工作表xlSheet.Cells(row, col) =值 '給單元格(row,col)賦值xlSheet.PrintOut '列印工作表xlBook.Close (True) '關閉工作簿xlApp.Quit '結束EXCEL對象Set xlApp = Nothing '釋放xlApp對象xlBook.RunAutoMacros (xlAutoOpen) '運行EXCEL啟動宏xlBook.RunAutoMacros (xlAutoClose) '運行EXCEL關閉宏
4、在運用以上VB命令操作EXCEL表時,除非設置EXCEL對象不可見,否則VB程序可繼續執行其它操作,也能夠關閉EXCEL,同時也可對EXCEL進行操作。但在EXCEL操作過程中關閉EXCEL對象時,VB程序無法知道,如果此時使用EXCEL對象,則VB程序會產生自動化錯誤。形成VB程序無法完全控制EXCEL的狀況,使得VB與EXCEL脫節。二、 EXCEL的宏功能:EXCEL提供一個Visual Basic編輯器,打開Visual Basic編輯器,其中有一工程屬性窗口,點擊右鍵菜單的"插入模塊",則增加一個"模塊1",在此模塊中可以運用Visual Basic語言編寫函數和過程並稱之為宏。其中,EXCEL有兩個自動宏:一個是啟動宏(Sub Auto_Open()),另一個是關閉宏(Sub Auto_Close())。它們的特性是:當用EXCEL打含有啟動宏的工簿時,就會自動運行啟動宏,同理,當關閉含有關閉宏的工作簿時就會自動運行關閉宏。但是通過VB的自動化功能來調用EXCEL工作表時,啟動宏和關閉宏不會自動運行,而需要在VB中通過命令xlBook.RunAutoMacros (xlAutoOpen)和xlBook.RunAutoMacros (xlAutoClose) 來運行啟動宏和關閉宏。三、 VB與EXCEL的相互勾通:充分利用EXCEL的啟動宏和關閉宏,可以實現VB與EXCEL的相互勾通,其方法如下:在EXCEL的啟動宏中加入一段程序,其功能是在磁碟中寫入一個標志文件,同時在關閉宏中加入一段刪除此標志文件的程序。VB程序在執行時通過判斷此標志文件存在與否來判斷EXCEL是否打開,如果此標志文件存在,表明EXCEL對象正在運行,應該禁止其它程序的運行。如果此標志文件不存在,表明EXCEL對象已被用戶關閉,此時如果要使用EXCEL對象運行,必須重新創建EXCEL對象。
1、在VB中,建立一個FORM,在其上放置兩個命令按鈕,將Command1的Caption屬性改為EXCEL,Command2的Caption屬性改為End。然後在其中輸入如下程序:Dim xlApp As Excel.Application '定義EXCEL類 Dim xlBook As Excel.Workbook '定義工件簿類Dim xlsheet As Excel.Worksheet '定義工作表類 Private Sub Command1_Click() '打開EXCEL過程If Dir("D:\temp\excel.bz") = "" Then '判斷EXCEL是否打開Set xlApp = CreateObject("Excel.Application") '創建EXCEL應用類xlApp.Visible = True '設置EXCEL可見Set xlBook = xlApp.Workbooks.Open("D:\temp\bb.xls") '打開EXCEL工作簿Set xlsheet = xlBook.Worksheets(1) '打開EXCEL工作表xlsheet.Activate '激活工作表xlsheet.Cells(1, 1) = "abc" '給單元格1行駛列賦值xlBook.RunAutoMacros (xlAutoOpen) 運行EXCEL中的啟動宏ElseMsgBox ("EXCEL已打開") End IfEnd SubPrivate Sub Command2_Click()If Dir("D:\temp\excel.bz") <> "" Then '由VB關閉EXCEL xlBook.RunAutoMacros (xlAutoClose) '執行EXCEL關閉宏xlBook.Close (True) '關閉EXCEL工作簿xlApp.Quit '關閉EXCELEnd IfSet xlApp = Nothing '釋放EXCEL對象EndEnd Sub
2、在D盤根目錄上建立一個名為Temp的子目錄,在Temp目錄下建立一個名為"bb.xls"的EXCEL文件。3、在"bb.xls"中打開Visual Basic編輯器,在工程窗口中點滑鼠鍵選擇插入模塊,在模塊中輸入入下程序存檔:Sub auto_open()Open "d:\temp\excel.bz" For Output As #1 '寫標志文件Close #1End SubSub auto_close()Kill "d:\temp\excel.bz" '刪除標志文件End Sub
4、運行VB程序,點擊EXCEL按鈕可以打開EXCEL系統,打開EXCEL系統後,VB程序和EXCEL分別屬兩個不同的應用系統,均可同時進行操作,由於系統加了判斷,因此在VB程序中重復點擊EXCEL按鈕時會提示EXCEL已打開。如果在EXCEL中關閉EXCEL後再點EXCEL按鈕,則會重新打開EXCEL。而無論EXCEL打開與否,通過VB程序均可關閉EXCEL。這樣就實現了VB與EXCEL的無縫連接。