Итак, я делаю простое приложение для отслеживания времени на работе, оно сканирует штрих-код, когда вы регистрируетесь, и снова для проверки, рассчитывает часы, а затем сохраняет их в .xml. Дело в том, что это работает в зависимости от дня, но вы можете регистрироваться и выходить чаще, чем раз в день (например, если вы работаете утром и днем). Поэтому мне нужен код, чтобы проверить, является ли значение конкретной ячейки пустым, если оно просто сохраняет часы, если оно не пустое, то оно получает значение ячейки и добавляет новые часы, рассчитанные за это время. Мой код выглядит следующим образом.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using Excel = Microsoft.Office.Interop.Excel;
namespace LCB
{
public partial class Form1 : Form
{
string name;
DateTime T_Entrada;
DateTime T_Salida;
TimeSpan Horas;
public float nhoras;
bool B_Entrada;
public Form1()
{
InitializeComponent();
B_Entrada = false;
textBox4.Text = B_Entrada.ToString();
}
//ESCIBIR EN EXCEL CODIGOO
public void WriteSample()
{
if (name == "Paco")
{
if(excelWorksheet.Cells[4,System.DateTime.Today.Day].Value2 == null)
{
excelWorksheet.Cells[4, System.DateTime.Today.Day].Value2 = nhoras;
}
else
{
excelWorksheet.Cells[4, System.DateTime.Today.Day].Value2 += nhoras;
}
excelApp.ActiveWorkbook.SaveAs(@"C:\Users\PRACTICVAS\Desktop\" + System.DateTime.Today.Month + ".xls", Excel.XlFileFormat.xlWorkbookNormal);
}
excelWorkbook.Close();
excelApp.Quit();
System.Runtime.InteropServices.Marshal.FinalReleaseComObject(excelWorksheet);
System.Runtime.InteropServices.Marshal.FinalReleaseComObject(excelWorkbook);
System.Runtime.InteropServices.Marshal.FinalReleaseComObject(excelApp);
GC.Collect();
GC.WaitForPendingFinalizers();
}
name - это строка, используемая на данный момент для проверки каждого отдельного человека, так что дело в том, что он не проверяет, является ли значение ячейки нулевым или нет, и всегда сохраняет новоезначение для nhoras, которое является количеством часов после каждой проверки. Есть идеи?