[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

microsoft.public.axapta.programming

export data to excel file,how let the width of columns is aoutomat

PZ

1/17/2006 8:17:00 AM

I use ADO.net,ASP.net with c#
there are some code ...but,when I export data to excel file,
the width of field isn't automation...
please help me....thank you~~

//--a button click event for export a excel file----
private void excel_Click(object sender, System.EventArgs e)
{
string BP1="TFN Domestic Long Distance EA";
DataSet ds=this.CodeSourceMgr.GetListBySql("select * from
SE_TB_INTEC_ISR_REPORT where TIR_NAME='"+BP1+"'");
DataTable tbl = ds.Tables[0];
int RowsCount=tbl.Rows.Count;
string strCreate=getFields(ds);

OleDbConnection objConn= new
OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=C:\\Acer\\SE\\WebPage\\ReportProxy\\Download\\test\\aaa.xls;Extended
Properties=Excel 8.0");

objConn.Open();
OleDbCommand objCmd=new OleDbCommand(strCreate,objConn);
objCmd.ExecuteNonQuery();

for(int i=0;i<RowsCount;i++)
{
DataRow dr=tbl.Rows[i];
Label1.Text=dr["TIG_NAME"].ToString();
string strInsert = "Insert into " +
"Sheet1" +
"(COST, E_MONTH_MINS, DESTINATION, USERSTAMP)" +
"values ('" +
dr[18].ToString() +
"', '" +
dr[19].ToString() +
"', '" +
dr[20].ToString() +
"', '" +
dr[21].ToString() +
"')";

objCmd.CommandText = strInsert;
objCmd.ExecuteNonQuery();
}

objConn.Close();
}
private string getFields(DataSet ds1)
{
DataTable dtb=ds1.Tables[0];
int count=dtb.Columns.Count;
string h="CREATE TABLE Sheet1(";
string m=" char(255),";
string d=")";
for(int j=0;j<count;j++)
{
if(j==count-1)
{
m=" char(255)";
}
string temp=dtb.Columns[j].ToString()+m;
h+=temp;
if(j==count-1)
{
h+=d;
}
}
return h;
}