追加するC#Excelファイル

次のように私は多くの実験の後、元の基礎で、インターネットから見つけるのは資源が一度生成され、追加のモードを、プログラムの法令を書いていない時間の節約1分でExcelファイルにデータを保存したい。この2日間:( )マークを作ります

同じディレクトリ機能、data.xlsxを作成するためのテンプレートとして、新しいファイル、分散型のプログラムを実現し、プログラムが新しい日付に基づいてファイル、データが追加モードに合わせて書かれているのと同じ日に生成されます。

// *保存遥测数据
公共ボイドsaveycdata()
{
文字列[]データ=新しい文字列[32]。
(I ++; I <32 INTは、I = 0)するための
試みる
{
(dataGridView1.Rows [I] .Cells [4] .Value.ToString())= [I]データを、
}
キャッチ
{
データ[I] = "0"。
}
savedatatoexcel(データ)。
}
//数据保存到優れ
公共ボイドsavedatatoexcel(文字列[]データ)
{

XlApp = Microsoft.Office.Interop.Excel.Application新しい新まずExcel.Application();
IF(xlApp == NULL)
{
MessageBox.Showは( "Excelは必ず環境は正常であることを確認、オブジェクトが優れて作成できませんでした");
リターン;

}
xlApp.Visible = FALSE;
xlApp.UserControlは真=。
xlApp.DisplayAlerts = falseは、
Excel._Workbookは、ワークブック。
日時DT = DateTime.Now;
int型の時間= dt.Hour。
int型分= dt.Minute。
int型HH =時間* 60 +分/ 1;
文字列、日付= dt.Year.ToString( "D4")+ dt.Month.ToString( "D2")+ dt.Day.ToString( "D2")。
Excel.Workbooksワークブック= xlApp.Workbooks。
もし(File.Exists(AppDomain.CurrentDomain.BaseDirectory + @ "データ" +日付+ @ "のxlsx "))
ワークブック= workbooks.Add(AppDomain.CurrentDomain.BaseDirectory + @"データ" +日付+ @ "のxlsx" ); //加载模板

{
File.Copy(AppDomain.CurrentDomain.BaseDirectory + @ "data.xlsx"、AppDomain.CurrentDomain.BaseDirectory + @ "データ" +日付+ @、真の"XLSX。");
ワークブック= workbooks.Add(AppDomain.CurrentDomain.BaseDirectory + @ "データ" +日付+ @ "のxlsx。"); //加载模板
}
Excel.Sheetsシート= workbook.Sheets。
Excel._Worksheetワークシート=(Excel._Worksheet)sheets.get_Item(1)。//第一个工作薄。
もし(ワークシート== nullの)
リターン。//工作薄中没有工作表。

//Microsoft.Office.Interop.Excel.Workbookブック= workbooks.Add(Microsoft.Office.Interop.Excel.XlWBATemplate.xlWBATWorksheet)。
//Microsoft.Office.Interop.Excel.Workbookワークブック= workbooks.Open(AppDomain.CurrentDomain.BaseDirectory + @ "data.xlsx"、Missing.Value、Missing.Value、Missing.Value、Missing.Value、Missing.Value、 Missing.Value、Missing.Value、Missing.Value、Missing.Value、Missing.Value、Missing.Value、Missing.Value)。
//Microsoft.Office.Interop.Excel.Worksheetワークシート=(Microsoft.Office.Interop.Excel.Worksheet)workbook.Worksheets [1]; //取得シート1
worksheet.Name =日付。
文字列strcaption = "";
//写入标题
worksheet.Cells [1、1] = "时间"。
以下のために(INT I 0 =、iが<64 / * dataGridView1.RowCount * /; I ++)
{
worksheet.Cells = dataGridView1.Rows [I] .Cells .Valueの[1、I + 2] [1];
}
//書き込み値

worksheet.Cells [HH + 1、1] = hour.ToString()+ "时" + min.ToString()+ "分"。
(INT R = 0; R <64 / * dataGridView1.Rows.Count * /; R ++)用
{
worksheet.Cells [HH + 1、R + 2] = dataGridView1.Rows [R] .Cells [4] .Valueの。

System.Windows.Forms.Application.DoEvents();
//System.Console.WriteLine("{0}\r\n」、r.ToString())。
// strcaption = "导出..." + r.ToString()+ + dataGridView1.Rows.Count.ToString() "の";
//this.Text = strcaption。
}
worksheet.Columns.EntireColumn.AutoFit(); //列宽自适应

試す
{
真workbook.Savedを=。
//workbook.SaveCopyAs(AppDomain.CurrentDomain.BaseDirectory + @ "data.xlsx");
workbook.SaveAs(AppDomain.CurrentDomain.BaseDirectory + @ "データ" +日付+ @ "のxlsx。");

}
キャッチ(例外EX)は
、{
//MessageBox.Show(+ Ex.Message "!ファイルをエクスポート中にエラーが発生しました、ファイルは\ N-を開放することができます");
}

workbook.Close(Missing.Value、Missing.Value、Missing.Value)。
xlApp.DisplayAlerts =はtrue。
xlApp.Quit();
xlApp = NULL;
// int型のID = 0;

GC.Collect(); //は強制的に破壊されました

//System.Diagnostics.Process.Start(savefilename);

}

 

 

おすすめ

転載: www.cnblogs.com/mainmaster/p/12031033.html