cuốn sách gpt4 ai đã làm

Cách chuyển đổi giá trị Excel sang định dạng ngày giờ trong C#

In lại Tác giả: Vũ trụ không gian Thời gian cập nhật: 2023-11-03 21:13:56 hai mươi bốn 4
mua khóa gpt4 Nike

Tôi đang cố gắng sử dụng Excel Interop để trích xuất dữ liệu từ trang tính Excel. Ở đây các ô trong phạm vi được sử dụng chứa giá trị ngày/giờ. Tôi đã quản lý để lấy giá trị dưới dạng văn bản, nhưng làm cách nào để chuyển đổi nó thành định dạng số hoặc ngày/giờ có thể được sử dụng cho các hoạt động so sánh?

using System;
sử dụng Excel = Microsoft.Office.Interop.Excel;
class Program
{
static void Main(string[] args)
{
Excel.Ứng dụng xlApp;
Excel.Workbook xlWorkBook;
Excel.Bảng tính xlWorkSheet;
Excel.Phạm vi phạm vi;

chuỗi str;
int rCnt = 0;
int cCnt = 0;

xlApp = Excel.Application mới();
xlWorkBook = xlApp.Workbooks.Open("Wind_Speed.xls", 0, true, 5, "", "", true, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "\t", false, false, 0 , đúng, 1, 0);
xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);

phạm vi = xlWorkSheet.UsedRange;

cho (rCnt = 1; rCnt <= range.Rows.Count; rCnt++)
{
for (cCnt = 1; cCnt <= range.Columns.Count; cCnt++)
{
// ở đây tôi có thể nhận được một giá trị chuỗi... làm thế nào để đặt ngày/giờ
str = (string)(range.Cells[rCnt, cCnt] as Excel.Range).Text
Console.WriteLine(str);
Console.ReadLine();
}
}

xlWorkBook.Close(true, null, null);
xlApp.Quit();

ReleaseObject(xlWorkSheet);
ReleaseObject(xlWorkBook);
ReleaseObject(xlApp);

Console.ReadLine();
}

câu trả lời hay nhất

Nếu dữ liệu gốc là giá trị "ngày" trong Excel (không phải văn bản), bạn có thể trích xuấtgiá trị 并使用 DateTime.FromOADate Chuyển đổi nó thành phương thức datetime:

double dateValue = range.Cells[rCnt, cCnt].Value2 // không phải "Văn bản"
DateTime dateTime = DateTime.FromOADate(dateValue);

Cũng lưu ý rằng việc trích xuất dữ liệu theo từng ô bằng cách sử dụng Office interop thường chậm hơn nhiều so với việc trích xuất tất cả dữ liệu vào một mảng lớn rồi xử lý mảng đó trong C#:

    phạm vi = xlWorkSheet.UsedRange;
object[,] rangeDate = (object[,])range.Value;

for (rCnt = 0; rCnt <= Array.GetLength(rangeDate, 0) ; rCnt++)
{
for (cCnt = 0; cCnt <= Array.GetLength(rangeDate, 1); cCnt++)
{
giá trị đối tượng = rangeDate[rCnt, cCnt];

...
}
}

Về c# - Cách chuyển đổi giá trị Excel sang định dạng ngày giờ trong C#, chúng tôi tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/35751134/

hai mươi bốn 4 0
không gian vũ trụ
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress