最近需要用winform窗体做一个客户端应用程序,需要后台将需要修改的一些数据在每周第一次登陆的时候就缓存下本周的数据,然后在网络畅通的时候同步到数据库。现在已经能将DataGirdView的数据下载到本地Excel文件,但是怎么调用本地excel并且修改本地Excel文件,再将本地Excel同步到服务器呢?
/// <summary>
/// 读取Excel文件数据到DataTable
/// </summary>
/// <param name="filePath">Excel文件路径</param>
private void Import_Excel(string filePath)
{
string sqlconn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filePath + ";Extended Properties='Excel 8.0;HDR=False;IMEX=1'";
string sql = @"select * from [Sheet1$]";
try
{
using (OleDbConnection conn = new OleDbConnection(sqlconn))
{
using (OleDbDataAdapter adapter = new OleDbDataAdapter(sql, conn))
{
System.Data.DataTable dt = new System.Data.DataTable();
adapter.Fill(dt);
this.LoadDataGridView(dt);
}
}
}
catch (Exception ex)
{
MessageBox.Show("打开文件出错,错误信息:" + ex.Message.ToString(), "提示");
}
}
将本地Excel文件导入到了DataTable中,只需将DataTable再填充到DataGirdView即可
用NPOI吧,不挑环境 不用装OFFICE 使用简单。
GOOGLE一大堆例子
数据源不能使用EXCEL,只能把EXCEL读出来放到datatable再绑定到datagridview中