如何將數據庫數據寫入到EXCEL表格中.[此代碼爲讀取SHAREPOINT]
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.SharePoint;
using System.Data;
using System.Data.OleDb;
using System.IO;
using System.Collections.Specialized;
namespace ConsoleApplication1
{
class Program
{
private static string _listname = null;
public static string ListName { get { return _listname; } set { _listname = value; } }
static void Main(string[] args)
{
using (SPSite site = new SPSite("http://192.168.169.10"))
{
using (SPWeb web = site.RootWeb)
{
ListName = "FluorProjectList";
SPList list = web.Lists[ListName];
SPView view = list.DefaultView;
StringCollection viewFields = view.ViewFields.ToStringCollection();
SPQuery query = new SPQuery();
SPListItemCollection items = list.GetItems(query);
string[] sql = new string[items.Count];
string strTemp = "";
string strFileName = "";
foreach (string fileName in viewFields)
{
strFileName += "[" + fileName + "],";
}
strFileName = strFileName.ToString().Substring(0, strFileName.Length - 1);
string tableName = "[Similar Projects$]";
int i = 0;
try
{
foreach (SPListItem item in items)
{
sql[i] = "insert into " + tableName + " (" + strFileName + ") values(";
//遍歷字段值
foreach (string fieldName in viewFields)
{
if (item[fieldName] != null)
{
//sql的單引號有特殊含義,用來把字符串內容引起來;所以要將text的一個單引號,替換成兩個單引號
strTemp = item[fieldName].ToString().Replace("'", "''");
sql[i] += "'" + strTemp + "',";
}
else
{
sql[i] += "'',";
}
}
sql[i] = sql[i].Substring(0, sql[i].Length - 1);
sql[i] += ")";
i++;
}
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
Console.Read();
}
//用字符串數組,添加記錄到Excel 返回Void
AddExcelData("D:/ken/Similar+Projects+updates+-to+MCO-+22Jul2016.xlsx", sql);
#region
//讀取Excel 【此程序沒用到】
//string sql = "select * from " + tableName;
//DataTable dt = GetExcelDataTable("D:/ken/Similar+Projects+updates+-to+MCO-+22Jul2016.xlsx",sql);
//try
//{
// for (int i = 0; i < dt.Rows.Count; i++)
// {
// string temp = dt.Rows[i][1].ToString();
// }
//}
//catch(Exception ex)
//{
// Console.WriteLine(ex.Message);
//}
#endregion
}
}
}
//添加記錄到Excel
public static void AddExcelData(string filePath, string[] SQLStringList)
{
//Office 2007
OleDbConnection conn = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + filePath + ";Extended properties='Excel 12.0 Xml;HDR=YES'");
conn.Open();
OleDbCommand cmd = new OleDbCommand();
cmd.Connection = conn;
cmd.Transaction = conn.BeginTransaction();
try
{
for (int n = 0; n < SQLStringList.Length; n++)
{
string strsql = SQLStringList[n].ToString();
if (strsql.Trim().Length > 1)
{
cmd.CommandText = strsql;
cmd.ExecuteNonQuery();
}
}
cmd.Transaction.Commit(); //提交事務
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
//事務回滾
cmd.Transaction.Rollback();
}
finally
{
conn.Close();
}
}
}
}
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.SharePoint;
using System.Data;
using System.Data.OleDb;
using System.IO;
using System.Collections.Specialized;
namespace ConsoleApplication1
{
class Program
{
private static string _listname = null;
public static string ListName { get { return _listname; } set { _listname = value; } }
static void Main(string[] args)
{
using (SPSite site = new SPSite("http://192.168.169.10"))
{
using (SPWeb web = site.RootWeb)
{
ListName = "FluorProjectList";
SPList list = web.Lists[ListName];
SPView view = list.DefaultView;
StringCollection viewFields = view.ViewFields.ToStringCollection();
SPQuery query = new SPQuery();
SPListItemCollection items = list.GetItems(query);
string[] sql = new string[items.Count];
string strTemp = "";
string strFileName = "";
foreach (string fileName in viewFields)
{
strFileName += "[" + fileName + "],";
}
strFileName = strFileName.ToString().Substring(0, strFileName.Length - 1);
string tableName = "[Similar Projects$]";
int i = 0;
try
{
foreach (SPListItem item in items)
{
sql[i] = "insert into " + tableName + " (" + strFileName + ") values(";
//遍歷字段值
foreach (string fieldName in viewFields)
{
if (item[fieldName] != null)
{
//sql的單引號有特殊含義,用來把字符串內容引起來;所以要將text的一個單引號,替換成兩個單引號
strTemp = item[fieldName].ToString().Replace("'", "''");
sql[i] += "'" + strTemp + "',";
}
else
{
sql[i] += "'',";
}
}
sql[i] = sql[i].Substring(0, sql[i].Length - 1);
sql[i] += ")";
i++;
}
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
Console.Read();
}
//用字符串數組,添加記錄到Excel 返回Void
AddExcelData("D:/ken/Similar+Projects+updates+-to+MCO-+22Jul2016.xlsx", sql);
#region
//讀取Excel 【此程序沒用到】
//string sql = "select * from " + tableName;
//DataTable dt = GetExcelDataTable("D:/ken/Similar+Projects+updates+-to+MCO-+22Jul2016.xlsx",sql);
//try
//{
// for (int i = 0; i < dt.Rows.Count; i++)
// {
// string temp = dt.Rows[i][1].ToString();
// }
//}
//catch(Exception ex)
//{
// Console.WriteLine(ex.Message);
//}
#endregion
}
}
}
//添加記錄到Excel
public static void AddExcelData(string filePath, string[] SQLStringList)
{
//Office 2007
OleDbConnection conn = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + filePath + ";Extended properties='Excel 12.0 Xml;HDR=YES'");
conn.Open();
OleDbCommand cmd = new OleDbCommand();
cmd.Connection = conn;
cmd.Transaction = conn.BeginTransaction();
try
{
for (int n = 0; n < SQLStringList.Length; n++)
{
string strsql = SQLStringList[n].ToString();
if (strsql.Trim().Length > 1)
{
cmd.CommandText = strsql;
cmd.ExecuteNonQuery();
}
}
cmd.Transaction.Commit(); //提交事務
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
//事務回滾
cmd.Transaction.Rollback();
}
finally
{
conn.Close();
}
}
}
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.