Excel.Application excel = default(Excel.Application);
武定網站制作公司哪家好,找成都創(chuàng)新互聯公司!從網頁設計、網站建設、微信開發(fā)、APP開發(fā)、響應式網站設計等網站項目制作,到程序開發(fā),運營維護。成都創(chuàng)新互聯公司于2013年開始到現在10年的時間,我們擁有了豐富的建站經驗和運維經驗,來保證我們的工作的順利進行。專注于網站建設就選成都創(chuàng)新互聯公司。
Excel._Workbook xBk = default(Excel._Workbook);
Excel._Worksheet xSt = default(Excel._Worksheet);
Excel.Range xRange = default(Excel.Range);
Excel.PivotCache xPivotCache = default(Excel.PivotCache);
Excel.PivotTable xPivotTable = default(Excel.PivotTable);
Excel.PivotField xPivotField = default(Excel.PivotField);
string cnnsr = null;
string sql = null;
string[] RowFields = {
"",
"",
""
};
string[] PageFields = {
"",
"",
"",
"",
"",
""
};
//SERVER 是服務器名或服務器的IP地址
//DATABASE 是數據庫名
//Table 是表名
try {
// 開始導出
cnnsr = "ODBC;DRIVER=SQL Server;SERVER=" + SERVER;
cnnsr = cnnsr + ";UID=;APP=Report Tools;WSID=ReportClient;DATABASE=" + DATABASE;
cnnsr = cnnsr + ";Trusted_Connection=Yes";
excel = new Excel.ApplicationClass();
xBk = excel.Workbooks.Add(true);
xSt = xBk.ActiveSheet;
xRange = xSt.Range("A4");
xRange.Select();
// 開始
xPivotCache = xBk.PivotCaches.Add(SourceType: 2);
xPivotCache.Connection = cnnsr;
xPivotCache.CommandType = 2;
sql = "select * from " + Table;
xPivotCache.CommandText = sql;
xPivotTable = xPivotCache.CreatePivotTable(TableDestination: "Sheet1!R3C1", TableName: "數據透視表1", DefaultVersion: 1);
//準備行字段
RowFields[0] = "字段1";
RowFields[1] = "字段2";
RowFields[2] = "字段3";
//準備頁面字段
PageFields[0] = "字段4";
PageFields[1] = "字段5";
PageFields[2] = "字段6";
PageFields[3] = "字段7";
PageFields[4] = "字段8";
PageFields[5] = "字段9";
xPivotTable.AddFields(RowFields: RowFields, PageFields: PageFields);
xPivotField = xPivotTable.PivotFields("數量");
xPivotField.Orientation = 4;
// 關閉工具條
//xBk.ShowPivotTableFieldList = False
//excel.CommandBars("PivotTable").visible = False
excel.Visible = true;
} catch (Exception ex) {
if (cnn.State == ConnectionState.Open) {
cnn.Close();
}
xBk.Close(0);
excel.Quit();
MessageBox.Show(ex.Message, "報表工具", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
不知道你是怎么百度的,你的百度關鍵詞應當選擇“VB 統(tǒng)計多個excel文件中的數據”。
1、數據透視表是用于在excel中不通過編程就實現匯總數據的目的,既然你都想編程了,數據透視表也就失去意義。
2、ACCESS更是無稽之談,多此一舉。
3、Excel文件不管多少,最重要的是每個文件要有統(tǒng)一的格式,這樣就有了編程的前提。
實現方法是:
1、讓程序能找到所有excel文件
2、用子過程讀取每一個文件,獲得所需要的數據,進行匯總
3、所有數據進行匯總,得到結果。
Private?Sub?Worksheet_Activate()
ActiveSheet.PivotTables("數據透視表1").PivotCache.Refresh
ActiveSheet.PivotTables("數據透視表2").PivotCache.Refresh
EndSub
這個是在透視表沒有重命名的情況,且有多個透視表的情況下的代碼。點擊透視表所在Sheet頁時觸發(fā),當然代碼也是寫在對應Sheet中的。
有兩種方法,一種是使用DataGridView,一種是使用ListView
參考地址如下:
DataGridView
如何:使用設計器對 Windows 窗體 ListView 控件中的項進行分組
對 Windows 窗體 ListView 控件中的項進行分組
把DGV數據放到datatable DataTable dt = new DataTable(); for (int j = 0; j ucgrd.Columns.Count; j++) { dt.Columns.Add(ucgrd.Columns[j].HeaderCell.Value.ToString()); } for (int j = 0; j ucgrd.Rows.Count; j++) { DataRow dr = dt...
DataGridView控件,放一個DataGridView1和Button1到窗體,下面是按鈕下代碼
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Me.DataGridView1.AllowUserToAddRows = False
DataGridView1.RowTemplate.Height = 200
DataGridView1.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.None
For i = 1 To 3
Me.DataGridView1.Columns.Add("列" i.ToString, "列" i.ToString)
Me.DataGridView1.Rows.Add()
Next
Me.DataGridView1.Columns(0).Width = 100
Me.DataGridView1.Columns(1).Width = 500
Me.DataGridView1.Columns(0).Width = 300
End Sub
'自己設置相關需要的屬性即可