المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : How to separate word tables for differnet files



C# Programming
12-18-2009, 04:52 AM
hi....now im doing work on Line count for word documents...1st i hav 2 select Dr name n date n then add files in listview and then if i go for save those files will save in ms word table as separately as Different DR name n Date wise in seperate tables...


....BUT iam getting repeating in one table lik...

Dr.Name:Dr.Jhon
Date:20/12/2009

Sno FileName Count
1 Hobbs.doc 36.31
2 Horn.doc 45.72
3 McMillan.doc 41.49
4 Smith.doc 10.72

Dr.Name:Dr.king
Date:22/12/2009

Sno FileName Count
1 Hobbs.doc 36.31
2 Horn.doc 45.72
3 McMillan.doc 41.49
4 Smith.doc 10.72
..........................................................................
this is actully i want 2 get....

Dr.Name:Dr.Jhon
Date:20/12/2009

Sno FileName Count
1 Hobbs.doc 36.31
2 Horn.doc 45.72

Dr.Name:Dr.king
Date:22/12/2009

Sno FileName Count
1 McMillan.doc 41.49
2 Smith.doc 10.72




Here is my code...

private void btnsave_Click(object sender, EventArgs e)
{
for (int k = 1; k < listView1.Items.Count; k++)
{
if (listView1.Items[k - 1].Text != listView1.Items[k].Text)
{
dte.Add(listView1.Items[k - 1].Text);
dte.Add(listView1.Items[k].Text);
}
if (listView1.Items[k - 1].SubItems[3].Text != listView1.Items[k].SubItems[3].Text)
{
pname.Add(listView1.Items[k - 1].SubItems[3].Text);
pname.Add(listView1.Items[k].SubItems[3].Text);
}
}
object oMissing = System.Reflection.Missing.Value;
object oEndOfDoc = "\\endofdoc"; /* \endofdoc is a predefined bookmark */

Microsoft.Office.Interop.Word._Application oWord;
Microsoft.Office.Interop.Word._Document oDoc;
oWord = new Microsoft.Office.Interop.Word.Application();
oWord.Visible = true;
oDoc = oWord.Documents.Add(ref oMissing, ref oMissing, ref oMissing, ref oMissing);


for (int k = 0; k < dte.Count; k++)
{
Microsoft.Office.Interop.Word.Paragraph oPara1;
oPara1 = oDoc.Content.Paragraphs.Add(ref oMissing);
oPara1.Range.Text = pname[k].ToString();
oPara1.Range.Font.Bold = 1;
oPara1.Format.SpaceAfter = 24; //24 pt spacing after paragraph.
oPara1.Range.InsertParagraphAfter();


Microsoft.Office.Interop.Word.Paragraph oPara2;
oPara2 = oDoc.Content.Paragraphs.Add(ref oMissing);
oPara2.Range.Text = "Date:" + dte[k].ToString();
oPara2.Range.Font.Bold = 1;
oPara2.Format.SpaceAfter = 24; //24 pt spacing after paragraph.
oPara2.Range.InsertParagraphAfter();

int a = listView1.Items.Count + 1;
Microsoft.Office.Interop.Word.Table oTable;

Microsoft.Office.Interop.Word.Range wrdRng = oDoc.Bookmarks.get_Item(ref oEndOfDoc).Range;
oTable = oDoc.Tables.Add(wrdRng, a, 3, ref oMissing, ref oMissing);
oTable.Range.ParagraphFormat.SpaceAfter = 6;

oTable.Cell(1, 1).Range.Text = "SNO";
oTable.Cell(1, 2).Range.Text = "FileName";
oTable.Cell(1, 3).Range.Text = "Total Count";

for (int r = 1; r < a; r++)
{
oTable.Cell(r + 1, 1).Range.Text = listView1.Items[r - 1].SubItems[1].Text;
oTable.Cell(r + 1, 2).Range.Text = listView1.Items[r - 1].SubItems[2].Text;
oTable.Cell(r + 1, 3).Range.Text = listView1.Items[r - 1].SubItems[5].Text;
oTable.Rows[r].Height = oWord.InchesToPoints(0);
}

oTable.Columns[1].Width = oWord.InchesToPoints(0); //Change width of columns 1 & 2
oTable.Columns[2].Width = oWord.InchesToPoints(0);
oTable.Columns[3].Width = oWord.InchesToPoints(0);


oTable.Rows[1].Range.Font.Bold = 1;

}
MessageBox.Show("Save Successfully");
}


}
}


plzz...help me ............thanquuu....