//一次处理两行
DataStore ds_todb
IF NOT IsValid(ds_todb) THEN
ds_todb = CREATE DataStore
END IF
ds_todb.DataObject = "dw_getdatafromexcel"
ds_todb.SetTransObject(at_sqlca)
FOR l_cnt = 2 TO l_rows STEP 2
Yield()
l_row = l_cnt
s_cno = String(xlapp.activeworkbook.activesheet.cells[l_row - 1,1].value)
IF NOT IsNumber(s_cno) THEN CONTINUE
FOR l_row = l_cnt - 1 TO l_cnt
s_cno = xlapp.activeworkbook.activesheet.cells[l_row,1].FormulaR1C1
IF IsNull(s_cno) OR s_cno = "" THEN
//非新行
FOR l_i = 4 TO l_cols STEP 2
s_temp = String(Trim(xlapp.activeworkbook.activesheet.cells[l_row,l_i].FormulaR1C1))
IF IsNull(s_temp) OR s_temp = "" THEN CONTINUE
i_cnt++
ds_todb.SetItem(l_newrow,i_cnt,s_temp)
NEXT
ELSE
//新行开始,清空数组
IF NOT IsNumber(s_cno) THEN CONTINUE
l_newrow = ds_todb.InsertRow(0)
ds_todb.SetItem(l_newrow,1,s_cno)
ds_todb.SetItem(l_newrow,3, Dec(xlapp.activeworkbook.activesheet.cells[l_row,3].FormulaR1C1))
i_cnt = 3
FOR l_i = 4 TO l_cols STEP 2
s_temp = String(Trim(xlapp.activeworkbook.activesheet.cells[l_row,l_i].FormulaR1C1))
IF IsNull(s_temp) OR s_temp = "" THEN CONTINUE
i_cnt++
ds_todb.SetItem(l_newrow,i_cnt,s_temp)
NEXT
END IF
NEXT
NEXT