导出数据表数据到XML或EXCEL insert into OpenDataSource( 'Microsoft.Jet.OLEDB.4.0', 'Data Source="c:\Temp.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...table1 (A1,A2,A3) values (1,2,3)数据库备份 backup database d to disk='e:\back_file\d.bak' --将数据库备份到临时备份文件 backup database d to bak1 with init
下面是读取csv,然后保存到dataset。
private bool ExportToCsv(DataGridView dgv, ProgressBar pb)//保存文件到csv
{
SaveFileDialog dlg = new SaveFileDialog();
dlg.Filter = "CSV(逗号分隔)(*.csv)|*.csv";
dlg.FilterIndex = 0;
dlg.RestoreDirectory = true;
dlg.CreatePrompt = true;
dlg.Title = "保存为CSV(逗号分隔)文件"; if (dlg.ShowDialog() == DialogResult.OK)
{
Stream myStream;
myStream = dlg.OpenFile();
StreamWriter sw = new StreamWriter(myStream, System.Text.Encoding.GetEncoding(-0));
string columnTitle = "";
try
{
//写入列标题
for (int i = 0; i+1 < dgv.ColumnCount; i++)
{
if (i > 0)
{
columnTitle += ",";
}
columnTitle += dgv.Columns[i].HeaderText;
}
columnTitle.Remove(columnTitle.Length - 1);
sw.WriteLine(columnTitle); //写入列内容
for (int j = 0; j < dgv.Rows.Count; j++)
{
string columnValue = "";
pb.Value = j * 100 / dgv.Rows.Count;
for (int k = 0; k+1 < dgv.Columns.Count; k++)
{ if (k > 0)
{
columnValue += ",";
}
if (dgv.Rows[j].Cells[k].Value == null)
{
columnValue += "";
}
else
{
string m = dgv.Rows[j].Cells[k].Value.ToString().Trim();
columnValue += m.Replace(",", ",");
}
}
columnValue.Remove(columnValue.Length - 1);
sw.WriteLine(columnValue);
}
sw.Close();
myStream.Close();
MessageBox.Show("完成!");
}
catch (Exception e)
{
MessageBox.Show(e.ToString());
return false;
}
finally
{
sw.Close();
myStream.Close();
} return true;
}
else
{
return false;
}
}
读取csv,用openFileDialog控件
private void button1_Click(object sender, EventArgs e)//选择CSV文件
{
openFileDialog1.InitialDirectory = System.Windows.Forms.Application.ExecutablePath;
openFileDialog1.Filter = "excel Files(*.csv)|*.csv|All Files(*.*)|*.*";
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
this.textBox1.Text = openFileDialog1.FileName;
}
}
string csvPath = textBox1.Text;//填充到dataset
string fileFullName = Path.GetFileName(csvPath);
string folderPath = csvPath.Substring(0, csvPath.LastIndexOf('\\') + 1); string connStr = string.Format(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties='text;HDR=Yes;IMEX=1'", folderPath); //FMT=Delimited;
string sql = string.Format(@"SELECT * FROM [{0}]", fileFullName);
OleDbDataAdapter da = new OleDbDataAdapter(sql, connStr);
da.Fill(ds); // 填充DataSet
如果你要用程序实现的话可以把数据存储在中间文件中备份到指定区域
文件可以是LS
说的csv,也可以用其他的xml之类的文件
不过这样做的缺点是数据量大的话会占用很多空间
insert into OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="c:\Temp.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...table1 (A1,A2,A3) values (1,2,3)数据库备份
backup database d to disk='e:\back_file\d.bak' --将数据库备份到临时备份文件
backup database d to bak1 with init