|
|
|
C# Win app ส่งออก Excel แล้ว Error ครับ ช่วยดูให้หน่อยนะ |
|
|
|
|
|
|
|
Error ว่า Object reference not set to an instance of an object.
Code (C#)
private void Excel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
if (dataGridView1.DataSource == null)
{
MessageBox.Show("ไม่มีข้อมูลที่จะแสดง");
return;
}
Excel.Application excel;
Excel.Workbook wbook;
Excel.Worksheet wsheet;
excel = new Excel.Application();
wbook = excel.Workbooks.Add();
wsheet = wbook.ActiveSheet;
excel.Visible = true;
string title = "ข้อมูลยอดหนี้ค้างชำระของ " + txthname.Text + " " + txtfname.Text + " " + txtlname.Text;
wsheet.Range["A1", "Z1"].Merge();
wsheet.Range["A1", "Z1"].Value = title;
DataTable table = dataSt.Tables["ค้างชำระ"];
for (int i = 0; i < table.Columns.Count; i++) // Error บรรทัดนี้ครับ
{
wsheet.Cells[3, i + 1] = dataGridView1.Columns[i].HeaderText;
}
for (int r = 0; r < table.Rows.Count; r++)
{
for (int c = 0; c < table.Columns.Count; c++)
{
wsheet.Cells[r + 4, c + 1] = table.Rows[r][c].ToString();
}
}
}
Code (C#)
private void แสดงยอดค้างชำระ()
{
String t = mem_id.Text;
sql = @"SELECT เลขที่รายการกู้,เงินต้นค้างชำระ,อัตราดอกเบี้ย,ดอกเบี้ยค้างชำระ,วันที่อัพเดต FROM ค้างชำระ WHERE mem_id = '" + t + "'";
command = new SqlCommand(sql, connection);
adapter = new SqlDataAdapter(command);
dataSt = new DataSet();
adapter.Fill(dataSt, "ค้างชำระ");
DataTable table = dataSt.Tables["ค้างชำระ"];
dataGridView1.DataSource = dataSt.Tables["ค้างชำระ"];
string[] cols = { "เลขที่รายการกู้", "เงินต้นค้างชำระ", "อัตราดอกเบี้ย", "ดอกเบี้ยค้างชำระ", "วันที่อัพเดต" };
int[] wid = {70,100,50,100,120 };
for (int i = 0; i < cols.Length; i++)
{
dataGridView1.Columns[i].HeaderText = cols[i];
dataGridView1.Columns[i].Width = wid[i];
}
dataGridView1.Font = new Font("Microsoft Sans Serif", 8);
dataGridView1.AlternatingRowsDefaultCellStyle.BackColor =
Color.FromName("PowderBlue");
dataGridView1.RowHeadersVisible = false;
}
Tag : .NET, VS 2010 (.NET 4.x)
|
|
|
|
|
|
Date :
2013-08-16 13:09:18 |
By :
111111111 |
View :
914 |
Reply :
8 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Line ที่เท่าไหร่ พอจะรู้ไหม๊ครับ
|
|
|
|
|
Date :
2013-08-16 14:51:08 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
for (int i = 0; i < table.Columns.Count; i++) // Error บรรทัดนี้ครับ
|
|
|
|
|
Date :
2013-08-16 14:59:12 |
By :
111111111 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
หาวิธีแก้ได้มั้ยครับ
|
|
|
|
|
Date :
2013-08-16 16:19:43 |
By :
111111111 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ตอนมัน Error แล้วไปที่บรรทัดนี้นะครับ ( อย่าเพิ่งกด Stop Debug นะครับ )
Code (C#)
DataTable table = dataSt.Tables["ค้างชำระ"];
แล้วเอาเม้าส์ไปชี้ดู ตัวแปร table มันมีค่าหรือเปล่าครับ
|
|
|
|
|
Date :
2013-08-16 16:39:59 |
By :
คนงานตัดอ้อย |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ตอนกำหนด DataSource ให้ dataGridView1 กำหนดแบบไหนครับ
ขอดูหน่ิอย หรือไม่ก็ไล่หาดูว่าแอบไปทำอะไรกับ dataSt ไว้ที่ไหนบ้าง เผื่อจะเจอครับตอบครับ
สู้ๆ
|
|
|
|
|
Date :
2013-08-17 16:31:08 |
By :
คนงานตัดอ้อย |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Date :
2013-08-18 13:08:09 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 03
|