지금까지 스프레드 시트에서 쉽게 데이터를 가져올 수 있습니다. 단지 참조 번호 행을 가져 오는 것이지만 현재 정확한 데이터를 가져 오기 전에 행을 데이터 섹션과 일치시키는 방법을 알지 못합니다.EPPlus를 사용하여 날짜를 행과 비교 한 다음 최종 열 값을 얻는 방법은 무엇입니까?
나는 현재 아래의 엑셀 스프레드 시트 예에서 일부 데이터를 추출 할 수 있습니다
Start date Ref number
29/07/2015 2342326
01/07/2016 5697455
02/08/2016 3453787
02/08/2016 5345355
02/08/2015 8364456
03/08/2016 1479789
04/07/2015 9334578
주요 질문은 행에서 설정 한 날짜의 데이터를 읽고 심판을 얻을 수있을 것입니다 숫자는 설정 한 날짜를 형성합니다. 시작일.
예를 들어 지난 달의 1 일 이상으로 설정된 날짜의 데이터 만 원한다면.
어떻게 구현하는 것이 가장 좋을까요? 기본은 OleDb를 사용하여 열을 얻기 위해 사용되는 현재 코드의
예 :
이using System;
using System.Data.OleDb;
using System.Text.RegularExpressions;
namespace Number_Cleaner
{
public class NumberCleanerReport
{
public void runExcel_Report()
{
Console.ForegroundColor = ConsoleColor.Green;
Console.WriteLine("[*][START OF: NumberExt.xls, Number Extraction]");
Console.ResetColor();
string con =
@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=NumberExt.xls;" +
@"Extended Properties='Excel 8.0;HDR=Yes;'";
string connectionString = ExcelWriter.GetConnectionString();
using (OleDbConnection conn = new OleDbConnection(connectionString))
{
conn.Open();
OleDbCommand cmd = new OleDbCommand();
cmd.Connection = conn;
using (OleDbConnection connection = new OleDbConnection(con))
{
connection.Open();
OleDbCommand command = new OleDbCommand("select * from [Sheet1$]", connection);
System.IO.StreamWriter files = new System.IO.StreamWriter(Controller.fpath + "NumberExtOutput.txt");
using (OleDbDataReader dr = command.ExecuteReader())
{
while (dr.Read())
{
var row1Col0 = dr[0];
string ExcelData = row1Col0.ToString();
string subStr = "null";
try
{
subStr = ExcelData.Substring(0, 6);
}
catch
{
//Console.WriteLine("Found Nulls.");
}
if (subStr == "00")
{
string result = Regex.Replace(ExcelData, "^00", "0");
Console.WriteLine(result);
files.WriteLine(result);
cmd.CommandText = "INSERT INTO [table1]('MainNmbers') VALUES(" + result + ");";
cmd.ExecuteNonQuery();
}
}
files.Close();
conn.Close();
Console.ForegroundColor = ConsoleColor.Green;
Console.WriteLine("[*][END OF: NumberExt.xls, RefNumber Extraction]");
Console.ResetColor();
}
}
}
}
}
}