.cs
按鈕事件:
string sbhtmltext = wbdata.documenttext;//獲取所有頁面元素
getcolomnnumandname(sbhtmltext);//獲取欄目
getvalue(sbhtmltext);//獲取資料
tryif (dt != null && dt.rows.count > 0)//判斷資料來源是否為空
string desctablename = "result_南京_" + txttablename.text.trim();
string str = bll.sourceexcel_import_web(desctablename, dt);
dt.reset();//重置資料容器datatable
messagebox.show(str);
htmldocument document = this.wbdata.document;//自動下拉網頁到底部
document.window.scrollto(750, 1000);
else
messagebox.show("未採集到資料!");
catch (exception ex)
messagebox.show(ex.message);
/// 獲取列名
public void getcolomnnumandname(string sbhtmltext)
int i = 0;
for (i = 0; ; i++)
string colomnname = "";
string startcoloumnname = @"
"; string endcoloumnname = "
"; int startcoloumnnameindex = sbhtmltext.indexof(startcoloumnname);
if (startcoloumnnameindex >-1)//判斷元素中是否存在資料
int endcoloumnnameindex = sbhtmltext.indexof(endcoloumnname);
int longs = endcoloumnnameindex - startcoloumnnameindex - startcoloumnname.length;
colomnname = sbhtmltext.substring(startcoloumnnameindex + startcoloumnname.length, longs);
dt.columns.add(colomnname.tostring().trim());//將**欄目添入datatable的columns中
sbhtmltext = sbhtmltext.remove(0, (endcoloumnnameindex + endcoloumnname.length));
else
break;
/// 獲取資料
public void getvalue(string sbhtmltext)
string startcoloumnname = @"
string endcoloumnname = @"
string startvalue = "
"; string endvalue = "
"; int startcoloumnnameindex = sbhtmltext.indexof(startcoloumnname);
int endcoloumnnameindex = sbhtmltext.indexof(endcoloumnname);
int longs = endcoloumnnameindex - startcoloumnnameindex - startcoloumnname.length;
string sbhtmltextchild = sbhtmltext.substring(startcoloumnnameindex + startcoloumnname.length, longs);//剔除不包含資料的上下元素
for (int i = 0; ; i++)
string value = "";
int startchild = sbhtmltextchild.indexof(startvalue);
if (startchild > -1)//判斷元素中是否存在資料
datarow dr = dt.newrow();//新建一行
for (int j = 0; ; j++)
int startvalueindex = sbhtmltextchild.indexof(startvalue);
if (startvalueindex > -1 && startvalueindex != 18)//判斷元素中是否存在資料
int endvalueindex = sbhtmltextchild.indexof(endvalue);
int longschild = endvalueindex - startvalueindex - startvalue.length;
value = sbhtmltextchild.substring(startvalueindex + startvalue.length, longschild).replace("\r\n", "").replace("\t", "").replace("\"", """).trim();
dr[j] = value.tostring().trim();//將資料添入新建的一行中
sbhtmltextchild = sbhtmltextchild.remove(0, (endvalueindex + endvalue.length));//剔除已經含有錄入完資料的元素
else
break;
dt.rows.add(dr);
int removelen = sbhtmltextchild.indexof(startvalue);
if (removelen > -1)//判斷所剩元素中是否還有資料
sbhtmltextchild = sbhtmltextchild.remove(0, removelen);//剔除所剩元素中頭部無效元素
else
break;
把雜湊表儲存到資料庫中
最近有個專案可能會把一些復合物件比如雜湊表儲存到資料庫中,就提前做了一些測試 一般,檔案等儲存到資料庫中都是要先轉換成位元組流byte型別的。我想這個hastable之類的集合物件也不例外 但是就是怎麼轉換的時候感覺難搞,最後終於是整理出了乙個二進位制轉換幫助類,如下 binaryhelper 的摘...
把資料儲存到本地
student.h import inte ce student nsobject property nonatomic,copy nsstring name property nonatomic,copy nsstring property nonatomic,assign nsinteger a...
如何把session儲存到資料庫裡
aspnet中,session預設以inproc模式儲存,也就是儲存在iis程序中,這樣有個優點就是效率高,但不利於為本負載均衡擴充套件。可以把session資訊儲存在sql server中,據說,該種方式比起inproc效能損失為10 20 如何實現呢,主要分兩步介紹 1 初始化sql serve...