|
|
|
[C#] การเซฟข้อมูลลง Excel คือยากให้เซฟข้อมูลลง Excel ครับ ตอนนี้เซฟได้แล้ว |
|
|
|
|
|
|
|
คือยากให้เซฟข้อมูลลง Excel ครับ ตอนนี้เซฟได้แล้ว แต่มันจะเอาเฉพาะแถวสุดท้ายครับ อยากให้เซฟข้อมูลทุกแถว
Code (C#)
void myport_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
in_data = myport.ReadLine();
this.Invoke(new EventHandler(displaydata_event));
}
private void displaydata_event(object sender, EventArgs e)
{
datetime = DateTime.Now;
string time = datetime.Hour + ":" + datetime.Minute + ":" + datetime.Second;
datatxt.AppendText(DateTime.Now.ToLongDateString() + "\t\t " + time + "\t\t" + in_data + "\n");
}
private void btnsave_Click(object sender, EventArgs e)
{
Microsoft.Office.Interop.Excel.Application xla = new Microsoft.Office.Interop.Excel.Application();
Workbook wb = xla.Workbooks.Add(XlSheetType.xlWorksheet);
Worksheet ws = (Worksheet)xla.ActiveSheet;
xla.Visible = true;
string time = datetime.Hour + ":" + datetime.Minute + ":" + datetime.Second;
ws.Cells[1, 1] = "Date";
ws.Cells[1, 2] = "Time";
ws.Cells[1, 3] = "Gas_Value";
ws.Cells[2, 1] = DateTime.Now.ToLongDateString();
ws.Cells[2, 2] = time;
ws.Cells[2, 3] = in_data;
}
}
}
Tag : .NET, C#, Windows
|
ประวัติการแก้ไข 2016-07-14 18:54:36 2016-07-14 18:57:55 2016-07-14 18:57:56 2016-07-14 18:58:16 2016-07-14 18:58:34 2016-07-14 18:59:15 2016-07-14 18:59:54
|
|
|
|
|
Date :
2016-07-14 18:53:43 |
By :
meatspin |
View :
1135 |
Reply :
18 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
จะนับจำนวนแถวได้ยังไงครับ
|
|
|
|
|
Date :
2016-07-15 08:04:48 |
By :
meatspin |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
foreach()
ReadLine()>> ReadAllLines() // หรืออะไรที่เป็น list array ได้
|
|
|
|
|
Date :
2016-07-15 08:33:13 |
By :
lamaka.tor |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
foreach (string data in in_data)
{
}
มันบอก Cannot convert type 'char' to 'string' อะครับ
|
|
|
|
|
Date :
2016-07-15 10:59:13 |
By :
meatspin |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ต้องดูที่โค้ดครับว่าอะไรยังไง
in_data = myport.ReadLine(); // ตัวนี้มันออกเป็น array รึป่าว
ถ้าเป็น array เป็น array ไหน
หรือสามารถ เอา myport มาใช้ในรูป list<string> ได้หรือไม่
ประมาณนั้น ครับ
|
|
|
|
|
Date :
2016-07-15 12:15:25 |
By :
lamaka.tor |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
รับข้อมูลเข้ามาใน in_data แต่มันไม่ใช่ Array
|
|
|
|
|
Date :
2016-07-15 12:35:52 |
By :
meatspin |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
อืม
|
|
|
|
|
Date :
2016-07-15 12:39:59 |
By :
lamaka.tor |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ตอนนี้อยากให้เก็บ myport.ReadLine() เก็บเป็น Array จะเขียนได้ยังไง
|
|
|
|
|
Date :
2016-07-15 13:05:09 |
By :
meatspin |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
myport ค่าที่ได้เป็นประเภทไหน
|
|
|
|
|
Date :
2016-07-15 13:13:26 |
By :
lamaka.tor |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
จริงๆค่าใน Arduino เป็น float ครับ แต่ myport.ReadLine() รับมาเป็น string
|
ประวัติการแก้ไข 2016-07-15 13:16:53
|
|
|
|
Date :
2016-07-15 13:14:47 |
By :
meatspin |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
มีตัวอย่างไม๊
ถ้าตามภาพมันไม่ใช่ float นะนั่น
|
|
|
|
|
Date :
2016-07-15 13:17:47 |
By :
lamaka.tor |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เริ่มใหม่ตั้งแต่แรก
myport สามารถทำให้เป็น list array ได้ไม๊ครับ
อย่าง ReadAllLines() ใน Stream
|
|
|
|
|
Date :
2016-07-15 13:28:13 |
By :
lamaka.tor |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ไม่ได้ครับ
|
|
|
|
|
Date :
2016-07-15 13:31:31 |
By :
meatspin |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แสดงว่า data ที่ส่งมามีแค่ค่าเดียวใช่ไม๊ครับ ผมก็หลงทางไปซะนาน ขอโทษๆๆๆๆ
งั้นเอา datatxt มา regex ครับ บ้านๆสุดแระ ครับ
|
|
|
|
|
Date :
2016-07-15 13:45:12 |
By :
lamaka.tor |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
น่าจะประมาณนี้มั้งครับ
Code (C#)
Microsoft.Office.Interop.Excel.Application xla = new Microsoft.Office.Interop.Excel.Application();
Workbook wb = xla.Workbooks.Add(XlSheetType.xlWorksheet);
Worksheet ws = (Worksheet)xla.ActiveSheet;
xla.Visible = true;
string time = datetime.Hour + ":" + datetime.Minute + ":" + datetime.Second;
ws.Cells[1, 1] = "Date";
ws.Cells[1, 2] = "Time";
ws.Cells[1, 3] = "Gas_Value";
int i = 1;
foreach (string ss in datatxt.Lines)
{
string[] words = System.Text.RegularExpressions.Regex.Split(ss,"\t\t");
i++;
ws.Cells[i, 1] = words[0];
ws.Cells[i, 2] = words[1];
ws.Cells[i, 3] = words[2];
}
|
|
|
|
|
Date :
2016-07-15 13:58:57 |
By :
lamaka.tor |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ได้แล้วครับ ขอบคุณมากครับ
|
ประวัติการแก้ไข 2016-07-15 14:15:43 2016-07-15 14:16:45
|
|
|
|
Date :
2016-07-15 14:00:48 |
By :
meatspin |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (C#)
private void btnsave_Click(object sender, EventArgs e)
{
Microsoft.Office.Interop.Excel.Application xla = new Microsoft.Office.Interop.Excel.Application();
Workbook wb = xla.Workbooks.Add(XlSheetType.xlWorksheet);
Worksheet ws = (Worksheet)xla.ActiveSheet;
xla.Visible = true;
string time = datetime.Hour + ":" + datetime.Minute + ":" + datetime.Second;
ws.Cells[1, 1] = "Date";
ws.Cells[1, 2] = "Time";
ws.Cells[1, 3] = "Gas_Value";
int i = 1;
foreach (string ss in datatxt.Lines)
{
string[] words = System.Text.RegularExpressions.Regex.Split(ss,"\t\t");
i++;
ws.Cells[i, 1] = words[0];
ws.Cells[i, 2] = words[1];
ws.Cells[i, 3] = words[2];
}
}
|
|
|
|
|
Date :
2016-07-15 14:09:20 |
By :
lamaka.tor |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 01
|