[英]Getting time values from an Excel sheet
Microsoft.Office.Interop.Excel.Application app =
new Microsoft.Office.Interop.Excel.Application();
Workbook wb = app.Workbooks.Open(fname);
Worksheet ws = wb.Worksheets[1];
// read some data
var Monday = ws.get_Range("D11");
var Tuesday = ws.get_Range("D13");
我正在使用Microsoft.Office.Interop.Excel
从Excel工作表中检索工作时间。 我的代码似乎正常工作,但是我一直在Monday
和Tuesday
获取值COM Object
。
为什么不从电子表格返回单元格D11和D13中的实际值?
我也为ws
和wb
获得了相同的COM Object
值,不确定是否有任何相关性,以至于我只是将其扔在那里。
MS Excel将日期存储为浮点值。 整数部分代表天,小数部分代表小时,分钟和秒。
检查以下提取小时,分钟和秒的代码,也许您需要它们:
float excelValue = 0.4f;
int miliseconds = (int)Math.Round(excelValue*86400000);
int hour = miliseconds/( 60/*minutes*/*60/*seconds*/*1000 );
miliseconds = miliseconds - hour*60/*minutes*/*60/*seconds*/*1000;
int minutes = miliseconds/( 60/*seconds*/*1000 );
miliseconds = miliseconds - minutes*60/*seconds*/*1000;
int seconds = miliseconds/1000;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.