|
@@ -23,6 +23,7 @@ using System.Runtime.CompilerServices;
|
|
|
using Timer = System.Windows.Forms.Timer;
|
|
|
using ZedGraph;
|
|
|
using static System.Windows.Forms.VisualStyles.VisualStyleElement.StartPanel;
|
|
|
+using Excel = Microsoft.Office.Interop.Excel;
|
|
|
|
|
|
namespace ImpulseVision
|
|
|
{
|
|
@@ -1296,5 +1297,62 @@ where [Login] = '{login}'";
|
|
|
{
|
|
|
|
|
|
}
|
|
|
+
|
|
|
+ private void BtnExport_Click(object sender, EventArgs e)
|
|
|
+ {
|
|
|
+ ExportToExcel();
|
|
|
+ }
|
|
|
+ /// <summary>
|
|
|
+ /// экспорт информации о посещениях в Excel
|
|
|
+ /// </summary>
|
|
|
+ private void ExportToExcel()
|
|
|
+ {
|
|
|
+ Excel.Application App = new Excel.Application();
|
|
|
+ App.Visible = true;
|
|
|
+ App.Workbooks.Open(Application.StartupPath + "\\Source\\Report.xlsx", Type.Missing, true);
|
|
|
+ Excel.Worksheet List1 = App.Worksheets.get_Item(1);
|
|
|
+ bool NoDetected = false;
|
|
|
+ try
|
|
|
+ {
|
|
|
+ for (int i = 0; i < TabJournal.Controls.Count; i++)
|
|
|
+ {
|
|
|
+ NoDetected = false;
|
|
|
+ TileOvals Tile = TabJournal.Controls[i] as TileOvals;
|
|
|
+ List1.get_Range($"A{i + 4}").Value = i + 1;
|
|
|
+ List1.get_Range($"B{i + 4}").Value = Tile.LblNameUser.Text.Trim();
|
|
|
+ List1.get_Range($"C{i + 4}").Value = Tile.LblTimeEntrance.Text.Trim();
|
|
|
+ if (Tile.LblTimeExit.Text.Trim() == string.Empty)
|
|
|
+ {
|
|
|
+ List1.get_Range($"D{i + 4}").Value = "";
|
|
|
+ NoDetected = true;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ List1.get_Range($"D{i + 4}").Value = Tile.LblTimeExit.Text.Trim();
|
|
|
+ }
|
|
|
+
|
|
|
+ List1.get_Range($"E{i + 4}").Value = Tile.LblDate.Text.Trim();
|
|
|
+ if (!NoDetected)
|
|
|
+ {
|
|
|
+ DateTime Tm1 = DateTime.Parse(Tile.LblTimeEntrance.Text.Trim());
|
|
|
+ DateTime Tm2 = DateTime.Parse(Tile.LblTimeExit.Text.Trim());
|
|
|
+
|
|
|
+ TimeSpan Dif = Tm2 - Tm1;
|
|
|
+ DateTime TimeOnPlace = DateTime.Parse(Dif.ToString()); ;
|
|
|
+ List1.get_Range($"F{i + 4}").Value = TimeOnPlace.ToString("HH часов mm минут").ToString();
|
|
|
+ }
|
|
|
+ if (NoDetected)
|
|
|
+ {
|
|
|
+ List1.get_Range($"A{i + 4}:F{i + 4}").Interior.Color = Color.Red;
|
|
|
+ }
|
|
|
+ List1.get_Range($"A{i + 4}:F{i + 4}").Borders.LineStyle = Excel.XlLineStyle.xlContinuous;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ catch (Exception ex)
|
|
|
+ {
|
|
|
+ MessageBox.Show(ex.Message + " При создании отчёта в Microsoft Excel произошла неизвестная ошибка!", "ImpulseVision", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
}
|