如何从Excel文件中读取C#中的未来date?
string filePath = openFileDialog1.FileName; string extension = Path.GetExtension(filePath); string header = rbHeaderYes.Checked ? "YES" : "NO"; string conStr, sheetName; conStr = string.Empty; switch (extension) { case ".xls": //Excel 97-03 conStr = string.Format(Excel03ConString, filePath, header); break; case ".xlsx": //Excel 07 conStr = string.Format(Excel07ConString, filePath, header); break; } //Get the name of the First Sheet. using (OleDbConnection con = new OleDbConnection(conStr)) { using (OleDbCommand cmd = new OleDbCommand()) { cmd.Connection = con; con.Open(); DataTable dtExcelSchema = con.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null); sheetName = dtExcelSchema.Rows[0]["TABLE_NAME"].ToString(); con.Close(); } } //Read Data from the First Sheet. using (OleDbConnection con = new OleDbConnection(conStr)) { using (OleDbCommand cmd = new OleDbCommand()) { using (OleDbDataAdapter oda = new OleDbDataAdapter()) { DataTable dt = new DataTable(); cmd.CommandText = "SELECT * From [" + sheetName + "]"; // cmd.CommandText = "SELECT * From "; cmd.Connection = con; con.Open(); oda.SelectCommand = cmd; oda.Fill(dt); //Populate DataGridView. dataGridView1.DataSource = dt; con.Close(); } } }
这是我的excel文件..
我得到的是
在阅读excel表格时,问题不在于阅读当年有31天的未来date。 就像在输出上显示一样。
我花了整整一天的时间。 我空了。 不知道什么问题正在发生?
任何帮助表示赞赏。
.Net没有尼泊尔日历的实现,你可以在System.Globalization的文档中看到。
但有一个nuget包,似乎运作良好。 https://www.nuget.org/packages/NepaliDateConverter/
实现细节可以在github页面上findhttps://github.com/janaks09/NepaliDateConverter
安装这个软件包后,你可以从英文转换成尼泊尔,反之亦然。
来自github页面的例子:
var convertedRawNepaliDate = new DateConverter().EngToNep(1993, 9, 30); //English To Nepali date //Separete properties for Year Month and Day. var convertedNepaliDate = DateTime.Parse(convertedRawNepaliDate.ConvertedDate.Year.ToString() + "-" + convertedRawNepaliDate.ConvertedDate.Month.ToString() + "-" + convertedRawNepaliDate.ConvertedDate.Day.ToString()); var eqNepaliDay = convertedRawNepaliDate.ConvertedDayOfWeek; //Gives Nepali Day //Nepali to english var convertedRawEnglishDate = new DateConverter().NepToEng(2050, 06, 14); var convertedNepaliDate = DateTime.Parse(convertedRawEnglishDate.ConvertedDate.Year.ToString() + "-" + convertedRawEnglishDate.ConvertedDate.Month.ToString() + "-" + convertedRawEnglishDate.ConvertedDate.Day.ToString()); var eqEnglishDay = convertedRawEnglishDate.ConvertedDayOfWeek; //Gives English Day
- 用点分隔符读取包含小数点的excel文件
- 为什么我得到一个多余的工作表,即使我明确地设置工作表计数为1?
- C#返回值中的工作表Function.CountIfs(…)是一个2 dim对象数组
- C#,将Npoi.ICell转换为Doubletypes
- 如何将过滤的数据从SQL Server导出到Excel?
- 使用C#在Excel中更改一个单元格的字体大小
- VBA VARIANT返回types和C ++ Excel加载项的64位版本问题
- 如何通过在List C#中传递checkbox名称来在Winform上创builddynamiccheckbox?
- Visual Studio OrderedTests:已经从其基础RCW分离的COM对象不能使用