Ajoutez d'abord une référence à Microsoft.office.interop.excel
Pendant le processus de référence, la bibliothèque d'objets Microsoft.Office 11.0 peut ne pas être référencée. Cela peut être dû au fait que votre Office2003 n'a pas choisi de prendre en charge .net. Vous pouvez réexécuter le fichier d'installation d'Office, puis rechercher l'élément Excel pour développer le nœud et sélectionnez support.net
Ensuite, utilisez Namespace dans la page :
à l'aide d'Excel = Microsoft.Office.Interop.Excel ;
Voici le code détaillé :
#region Export Data
/// <summary>
///
/// </summary>
private void Export()
{ Excel.Application excel = new Excel.Application(); Excel.Workbooks classeurs = excel.Workbooks; Classeur Excel.Workbook = classeurs.Add(Excel.XlWBATemlate.xlWBATWorksheet); Feuille de calcul Excel.Worksheet = (Excel.Worksheet)workbook.Worksheets[1]; Plage Excel.Range = null; worksheet.Cells[1, 1] = "报关单Excel" ; plage = (Excel.Plage)feuille de calcul.Cellules[1, 1] ; range.Font.Bold = vrai; plage.Font.Size = 18 ;
//range.Interior.Color = 150; //Définir la couleur en fonction de l'index, de l'index et de la ressource de référence de valeur/HelpPic
range.HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter;//Définir le texte au centre
range = (Excel.Range ) worksheet.get_Range (feuille de calcul. Cellules [1, 1], feuille de calcul. Cellules [1, 5]);
plage. Select ();
plage. Merge (false);
range.Borders[Excel.XlBordersIndex.xlInsideHorizontal].Weight = Excel.XlBorderWeight.xlThin ;
chaîne FileName = Server.MapPath("..//..//resource//Templetes//") + DateTime.Today.ToString( "aaaaMMjj") + new Random(DateTime.Now.Millisecond).Next(1000000).ToString() + ".xls" ;
//Foreach IList, And Add Data To Excel
//Write Excel Header
worksheet.Cells[3, 1] = "Numéro de déclaration en douane" ;
worksheet.Cells[3, 2] = "Moyen de transport" ;
worksheet.Cells[3, 3] = "Numéro de connaissement" ;
worksheet.Cells[3, 4] = " Numéro de commande de base" ;
worksheet.Cells[3, 5] = "unité de déclaration" ;
worksheet.Cells[3, 6] = "unité commerciale" ;
worksheet.Cells[3, 7] = "Unité de réception/expédition" ;
worksheet.Cells[3, 8] = "date de déclaration" ;
worksheet.Cells[3, 9] = "état du traitement" ;
worksheet.Cells[3, 10] = "importation/exportation" ;
worksheet.Cells[3, 11 ] = "Fermer la zone" ;
worksheet.Cells[3, 12] = "Remarques" ;
worksheet.Cells[3, 13] = "Heure de mise à jour" ;
//Écrire Excexl Body
int flag = 3 ;
foreach (var w in lst )
{ flag += 1 ; worksheet.Cells[flag, 1] = w.entry_id_new ; worksheet.Cells[flag, 2] = w.TRAF_NAME ; worksheet.Cells[flag, 3] = w.BILL_NO; worksheet.Cells[ flag, 4] = w.APPR_NO ;
feuille de calcul.Cells[flag, 5] = w.DECL_NAME ;
feuille de calcul.Cells[flag, 6] = w.TRADE_NAME ;
feuille de calcul.Cells[flag, 7] = w.SHIPPER ;
feuille de calcul.Cells[flag, 8] = w.DECL_DATE ;
feuille de calcul.Cells[flag, 9] = w.PROCESS_STATUS ;
feuille de calcul.Cells[flag, 10] = w.EXP_IMP;
feuille de calcul.Cells[flag, 11] = w.SUB_CUS ;
feuille de travail.Cells[flag, 12] = w.NOTES ;
feuille de calcul.Cells[flag, 13] = w.UPDATE_TIME ;
}
essayez
{ workbook.Saved = true; classeur.SaveCopyAs(FileName); }
catch (Exception ex)
{ lancer (ex); } classeurs.Close(); if (excel != null) { excel.Workbooks.Close(); excel.Quit(); int Génération = System.GC.GetGeneration(excel); System.Runtime.InteropServices.Marshal.ReleaseComObject(excel); excel = nul; GC.Collect(Génération); } GC.Collect();//强行销毁
//Ferme le processus Excel récemment ouvert
System.Diagnostics.Process[] excelProc = System.Diagnostics.Process.GetProcessesByName("EXCEL");
System.DateTime startTime = new DateTime();
int m, killId = 0;
for (m = 0 ; m < excelProc.Length ; m++)
{ if (startTime < excelProc
.StartTime)
{ startTime = excelProc.StartTime ; killId = m ; } } if (excelProc[killId].HasExited == false) { excelProc[killId].Kill(); } //Fournir le téléchargement du fichier System.IO.FileInfo = new System.IO.FileInfo(FileName); Response.Clear(); Response.Charset = "UTF-8"; Response.ContentEncoding = System.Text.Encoding.UTF8; // Ajouter des informations d'en-tête pour "télécharger le fichier/enregistrer sous Spécifiez un nom de fichier par défaut pour la boîte de dialogue
Response.AddHeader("Content-Disposition", "attachment; filename=" + Server.UrlEncode(file.Name));
// Ajouter des informations d'en-tête, spécifier la taille du fichier, afin que le navigateur puisse afficher la progression du téléchargement
Response.AddHeader ("Content -Length", file.Length.ToString());
// Spécifie que le flux retourné est un flux qui ne peut pas être lu par le client et doit être téléchargé
Response.ContentType = "Application/ms-excel";
/ / Envoie le flux de fichiers au client
Response.WriteFile(file.FullName);
}
#endregion
Je viens d'écrire une importation pour un ami, la dénomination n'est pas standardisée et il n'y a pas de package. Faites juste avec ça. trop paresseux pour changer
protected void Button1_Click(object sender, EventArgs e)
{ string strConn = "server=.;database=dydhb;uid=sa;pwd=111111"; SqlConnection sqlConn = new SqlConnection(strConn); sqlConn.Open();
chaîne FilePath = Server.MapPath("Book.xls");
objet objOpt = System.Reflection.Missing.Value ;
chaîne a, b, c, d, e1 ;
string str = "insert into address_book(bumen,zhiwei,name,office_tel,phone,password) values(@bumen,@zhiwei,@name,@office_tel,@phone,@password)" ;
Excel.Application excel = new Excel.Application();
Excel.Workbooks classeurs = excel.Workbooks;
Classeur Excel.Workbook = classeurs.Ouvrir(FilePath, objOpt, objOpt, objOpt, objOpt, objOpt, objOpt, objOpt, objOpt, objOpt, objOpt, objOpt, objOpt, objOpt, objOpt);
Feuille de calcul Excel.Worksheet = (Excel.Worksheet)workbook.Worksheets[1];
for (int i = 2; i <= worksheet.UsedRange.Rows.Count; i++)
{ a = ((Excel.Range)(worksheet.Cells[i, 2])).Text.ToString(); b = ((Excel.Range)(worksheet.Cells[i, 3])).Text.ToString(); c = ((Excel.Range)(worksheet.Cells[i, 4])).Text.ToString();
d = ((Excel.Range)(worksheet.Cells[i, 5])).Text.ToString();
e1 =((Excel.Range)(worksheet.Cells[i, 6])).Text.ToString();
SqlCommand sqlCmd = new SqlCommand(str, sqlConn);
sqlCmd.Parameters.AddWithValue("@bumen", a);
sqlCmd.Parameters.AddWithValue("@zhiwei", b);
sqlCmd.Parameters.AddWithValue("@nom", c);
sqlCmd.Parameters.AddWithValue("@office_tel", d);
sqlCmd.Parameters.AddWithValue("@phone", e1);
sqlCmd.Parameters.AddWithValue("@password", System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(e1, "md5"));
}
sqlConn.Close();
classeurs.Close();
if (excel != null)
{ excel.Workbooks.Close(); excel.Quit(); int Génération = System.GC.GetGeneration(excel); System.Runtime.InteropServices.Marshal.ReleaseComObject(excel); excel = nul; GC.Collect(Génération); } GC.Collect();//强行销毁
//Ferme le processus Excel récemment ouvert
System.Diagnostics.Process[] excelProc = System.Diagnostics.Process.GetProcessesByName("EXCEL");
System.DateTime startTime = new DateTime();
int m, killId = 0;
for (m = 0 ; m < excelProc.Length ; m++)
{ if (startTime < excelProc
.StartTime)
{ startTime = excelProc
.Heure de début;
killId = m;
}
}
if (excelProc[killId].HasExited == false)
{ excelProc[killId].Kill(); } }