PDA

View Full Version : خواندن اطلاعات یک سلول به فرمت خاص از اکسل



mhmoein
چهارشنبه 26 مرداد 1401, 22:08 عصر
با سلام و عرض ادب خدمت دوستان عزیز
بنده می خواهم یک ستون از اکسل با فرمت خاص که زمان است را در از اکسل بخوانم در grid نمایش دهم.
مقدار سلول ها به صورت سه رفم ساعت و دو رقم دقیقه می باشد. مثال (125:18) فرمت آن در اکسل
[hh]:mm


این هم کد بنده برای خواندن داده ولی اشتباه نشان می دهند و فقط در محدوده 24 ساعت عمل می کند.

model.morkhasi_shakhsi = DateTime.FromOADate((double)ws.Cells[rowNum, 10].Value).ToString("HH:mm");


ممنون میشوم راهنمایی بفرمایید

mmbguide
چهارشنبه 26 مرداد 1401, 23:02 عصر
سلام

خودم امتحان نکردم ولی سعی کنید مقدار را به TimeSpan تبدیل کنید چون ساعت که بیشتر از 24 نیست ولی طول مدت زمان رو میتونید در Timespan به درستی نمایش بدید. ابتدا ببینید مقدار برگشتی از اکسل صحیح است یا خیر. اگر درست بود بعد تبدیل به Timepspan را انجام بدید.

mhmoein
چهارشنبه 26 مرداد 1401, 23:15 عصر
سلام

خودم امتحان نکردم ولی سعی کنید مقدار را به TimeSpan تبدیل کنید چون ساعت که بیشتر از 24 نیست ولی طول مدت زمان رو میتونید در Timespan به درستی نمایش بدید. ابتدا ببینید مقدار برگشتی از اکسل صحیح است یا خیر. اگر درست بود بعد تبدیل به Timepspan را انجام بدید.

بنده تست کردم جواب نداد متاسفانه

mmbguide
پنج شنبه 27 مرداد 1401, 00:05 صبح
قبل از تبدیل نوع داده، مقدار برگشتی از سلول اکسل چی هست؟ چه مقدار برگشت داده میشه؟

mhmoein
پنج شنبه 27 مرداد 1401, 00:14 صبح
قبل از تبدیل نوع داده، مقدار برگشتی از سلول اکسل چی هست؟ چه مقدار برگشت داده میشه؟

بدون تبدیل عدد : 05
و با این کد تبدیل عدد: 05:18
نمایش داده می شود.

mmbguide
پنج شنبه 27 مرداد 1401, 20:48 عصر
شما سعی کنید بجای خواندن مقدار سلول با استفاده ویژگی Value از Text استفاده کنید. این کار کمک میکنه فارغ از فرمت بندی یک سلول، آن مقداری که باید نمایش داده شود را برگرداند:

string test = excelSheet.Cells[1, 1].Text;

مقدار برگشتی 125:18 می باشد.

لینک زیر را مطالعه کنید:
https://stackoverflow.com/questions/52446733/reading-a-duration-over-24h-from-excel-using-epplus