this is my first time to ask question. So please be gentle on me :)
My problem is, I want to format an excel file generated by our time and attendance terminal. Here is the generated excel file and some description of my problem:
What I want to do is read that excel file using C# Winform and format it as the way way I need it.
My Problems are:
Last problem, and will probably explain it all. what I really want to do is use OleDbConnection and my command will be look like this :
"SELECT DISTINCT [0$], Convert([1$], Date), MIN(Convert([1$], Time)), MAX(Convert([1$], Time)) FROM [0$] GROUP BY [0$], Convert([1$], Date)"
Note : [0$] and [1$], are the index of either the columns or the sheets
What I need need is to generate a file that will show the employees attendance that will format with date and there first Time IN for the Day and there last Time Out. Please Look the image below for the idea of the output.
I've try to search but I'm not able to find a solution that will fits on what I need.
Hope that anyone can help me. Thanks!
For question:
DateTableName(or Sheet Name)
or Columns
in SQL. These steps are how to get the expected data:
Sheet Name
; empty
, null
or space-string
but added to rows; Linq
. Hope that my answer can help you.
Reference code:
public void Test() { string filePath = $"{Environment.CurrentDirectory}//test20170206.xls"; string conStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filePath + ";Extended Properties='Excel 8.0;HDR=NO;IMEX=1;'"; //connection excel OleDbConnection conn = new OleDbConnection(conStr); conn.Open(); //get all sheel from excel file DataTable tb = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null); foreach (DataRow row in tb.Rows) { Console.WriteLine(row["TABLE_NAME"]); //using index in row for (int i=0;i p.Datetime).ToLongTimeString(), TimeMax = g.Max(p => p.Datetime).ToLongTimeString() }; } public class Model20170206 { public int Id { get; set; } public DateTime Datetime { get; set; } public string Value1 { get; set; } public string Value2 { get; set; } public string Value3 { get; set; } public string Value4 { get; set; } }
Practice steps:
1,2017-01-28 03:47:54,1,1,1,0 2,2017-01-29 04:58:18,1,0,2,0 3,2017-01-28 08:44:43,1,1,3,0 4,2017-01-28 05:47:56,1,0,4,0 0,2017-02-05 12:12:53,1,1,5,0 1,2017-01-31 12:02:24,1,0,6,0 2,2017-02-05 12:30:34,1,1,7,0 3,2017-02-04 02:30:08,1,0,8,0 4,2017-02-01 11:39:53,1,1,9,0 0,2017-02-05 07:45:58,1,0,10,0 1,2017-02-05 03:01:46,1,1,11,0 2,2017-02-02 09:22:17,1,0,12,0 3,2017-01-30 03:05:46,1,1,13,0 4,2017-02-04 09:02:21,1,0,14,0 0,2017-02-03 07:58:20,1,1,0,0 1,2017-01-29 07:53:48,1,0,1,0 2,2017-01-29 12:41:25,1,1,2,0 3,2017-02-06 02:58:50,1,0,3,0 4,2017-01-28 11:06:47,1,1,4,0 0,2017-02-04 10:40:18,1,0,5,0 1,2017-01-31 12:57:24,1,1,6,0 2,2017-02-03 12:28:38,1,0,7,0 3,2017-02-01 06:48:23,1,1,8,0 4,2017-01-28 12:42:59,1,0,9,0 0,2017-02-04 10:34:44,1,1,10,0 1,2017-02-06 06:38:31,1,0,11,0 2,2017-02-05 08:40:26,1,1,12,0 3,2017-01-31 01:56:32,1,0,13,0 4,2017-02-05 11:13:11,1,1,14,0 0,2017-01-29 10:34:58,1,0,0,0 1,2017-02-02 04:01:18,1,1,1,0 2,2017-02-06 01:08:09,1,0,2,0 3,2017-01-28 07:24:11,1,1,3,0 4,2017-02-02 08:25:50,1,0,4,0 0,2017-01-28 08:01:13,1,1,5,0 1,2017-02-03 08:33:10,1,0,6,0 2,2017-01-29 03:47:03,1,1,7,0 3,2017-02-05 12:36:56,1,0,8,0 4,2017-02-04 06:10:55,1,1,9,0 0,2017-01-29 05:13:43,1,0,10,0 1,2017-02-06 06:35:18,1,1,11,0 2,2017-01-31 08:23:25,1,0,12,0 3,2017-02-03 04:25:10,1,1,13,0 4,2017-01-31 04:31:34,1,0,14,0 0,2017-01-30 10:03:42,1,1,0,0 1,2017-01-30 11:07:57,1,0,1,0 2,2017-02-05 11:17:45,1,1,2,0 3,2017-02-02 12:59:56,1,0,3,0 4,2017-01-31 04:49:48,1,1,4,0 0,2017-02-02 01:02:05,1,0,5,0 1,2017-01-31 11:16:52,1,1,6,0 2,2017-02-03 09:53:51,1,0,7,0 3,2017-01-31 04:02:09,1,1,8,0 4,2017-01-28 05:06:38,1,0,9,0 0,2017-01-28 09:18:28,1,1,10,0 1,2017-02-01 04:26:56,1,0,11,0 2,2017-02-03 11:17:34,1,1,12,0 3,2017-02-06 09:09:23,1,0,13,0 4,2017-01-30 08:20:51,1,1,14,0 0,2017-02-05 06:42:01,1,0,0,0 1,2017-02-01 04:29:38,1,1,1,0 2,2017-02-02 05:28:21,1,0,2,0 3,2017-02-05 04:24:37,1,1,3,0 4,2017-01-31 07:59:14,1,0,4,0 0,2017-01-31 10:38:59,1,1,5,0 1,2017-02-06 03:01:17,1,0,6,0 2,2017-02-02 08:52:25,1,1,7,0 3,2017-02-02 07:47:35,1,0,8,0 4,2017-02-04 07:55:27,1,1,9,0 0,2017-02-06 12:32:50,1,0,10,0 1,2017-01-28 11:01:04,1,1,11,0 2,2017-01-30 01:12:09,1,0,12,0 3,2017-01-29 03:42:15,1,1,13,0 4,2017-02-05 07:00:44,1,0,14,0 0,2017-02-05 05:12:40,1,1,0,0 1,2017-01-28 11:28:18,1,0,1,0 2,2017-02-05 09:11:08,1,1,2,0 3,2017-01-29 09:11:08,1,0,3,0 4,2017-02-04 03:46:57,1,1,4,0 0,2017-02-02 06:21:06,1,0,5,0 1,2017-01-28 02:15:06,1,1,6,0 2,2017-01-31 02:34:50,1,0,7,0 3,2017-02-05 10:14:23,1,1,8,0 4,2017-01-31 05:05:26,1,0,9,0 0,2017-02-05 12:25:46,1,1,10,0 1,2017-02-05 07:15:07,1,0,11,0 2,2017-02-03 04:00:19,1,1,12,0 3,2017-02-06 03:25:13,1,0,13,0 4,2017-02-02 06:01:42,1,1,14,0 0,2017-02-03 04:41:57,1,0,0,0 1,2017-02-06 10:23:15,1,1,1,0 2,2017-01-29 07:45:19,1,0,2,0 3,2017-02-03 11:10:25,1,1,3,0 4,2017-02-05 12:36:33,1,0,4,0 0,2017-02-03 01:51:44,1,1,5,0 1,2017-02-01 08:01:16,1,0,6,0 2,2017-02-01 05:06:28,1,1,7,0 3,2017-01-31 03:20:15,1,0,8,0 4,2017-02-05 07:00:14,1,1,9,0 0,2017-01-31 08:10:04,1,0,10,0 1,2017-02-03 03:23:12,1,1,11,0 2,2017-01-31 10:24:29,1,0,12,0 3,2017-02-04 06:12:08,1,1,13,0 4,2017-01-31 05:24:38,1,0,14,0 0,2017-02-01 08:55:20,1,1,0,0 1,2017-01-29 04:59:03,1,0,1,0 2,2017-02-02 01:05:55,1,1,2,0 3,2017-02-01 10:09:05,1,0,3,0 4,2017-01-30 01:01:37,1,1,4,0 0,2017-02-06 10:57:49,1,0,5,0 1,2017-02-01 08:23:28,1,1,6,0 2,2017-02-01 09:00:45,1,0,7,0 3,2017-01-30 12:16:46,1,1,8,0 0,2017-02-04 06:06:36,1,0,10,0 1,2017-02-01 09:31:02,1,1,11,0 ... more ...
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.