老师;如何把 excel 中表的数据导入到sql server2000(用PB语句)
我做一个学生成绩管理,当教师评分,登记在excel 中,如何通过程序把它导入到 sql server2000呢(pb 的窗口)
表的结构 学号 课程名称 分数 学期 学分
1001 数据通信 60 1 4
1001 英语 90 1 5
------解决方案--------------------
OLEobject export_object
integer i,j,k
integer Excel_Handle, Return_Value, ii_ExcelWindowState = 1
long Excel_Status
export_object = Create OLEobject
//d_out_data_window是事先拉好的data window選出所要的結果
dw_1.DataObject = "d_out_data_window"
dw_1.SetTransObject(sqlca)
//連結Excel
Return_Value = export_object.ConnectToNewObject("excel.application")
If Return_Value <> 0 then
DESTROY export_object
MessageBox("啟動 Excel","不能連結Microsoft Excel")
return
end if
//Excel顯示
export_object.Application.Visible = true
if ii_ExcelWindowState <> 0 then
export_object.WindowState = ii_ExcelWindowState
end if
//eFile.xls是事先已製作好表格的Excel檔案
export_object.Workbooks.Open("eFile.xls")
//eFile.xls是事先已製作好表格在Sheet1的工作區export_object.WorkSheets("Sheet1").select()
//開始將值塞入Excel,將右邊的值塞入Sheet1的M1
export_object.Range("M1").value = "台中市政府教育局"
export_object.Range("A4").value = "台中市國民中學學生異動報告"
export_object.Range("A5").value = "中華民國" + m_yy + "學年~度第二學期"
//將Excel的某些欄位歸零
string zeroX[]={'E','F','H','I','J','K','L','M','N'}
string zeroY[]={'21','22','23','24','25','26','29'}
for i = 1 to 9
for j = 1 to 7
export_object.Range(zeroX[i] + zeroY[j]).value = 0
next
next
//caa1 … caa6,cbb1… cbb6是dw_1中的Fields Name
//塞入Excel某個指定位置
for i = 1 to 4
for k = 0 to 5
export_object.Range("E" + zeroY[k]).value =
dw_1.getitemnumber(1,'caa'+string(k + 1))
export_object.Range("F" + zeroY[k]).value =
dw_1.getitemnumber(1,'cbb'+string(k + 1))
next
next
//列印出去
export_object.ActiveSheet.PrintOut()
//Excel的eFile.xls存檔
export_object.ActiveWorkbook.save()
//跳離Excel
export_object.quit()
//斷線
export_object.DisconnectObject()
//釋放記憶體
DESTROY export_object