Jag har ett fördefinerat worddokument som jag vill peta in lite specifika saker i, sedan skall det sparas som ett nytt dokument. Det är bla namn och adress det handlar om. Dessa uppgifter finns i en databas. Jag vet inte riktigt hur man enklast går tillväga för att göra detta. Det skall kunna göras via ett webbgränssnitt. Ett litet exempel vore trevligt. Gärna C# Ingen som kan komma med en liten vägvisare? kolla här Gjorde en likande grej för länge sen, dock inte c# och inte asp.net 2.0 men kanske kan hjälpa till med ideér.. Tack för tipsen, skall undersöka lite och se om jag får snurr på det hela. Om du inte vill installera word på servern osv så använd Aspose.word det fungerar bra tycker jag. Verkar ju bra, syn bara att det är en mycket dyrare lösning än att köpa och installera Word. En annan variant är ju att använda ett annat format som är mer "gratis" att skriva till.Skapa Word dokument med info från databas (asp.net)
Sv: Skapa Word dokument med info från databas (asp.net)
Sv:Skapa Word dokument med info från databas (asp.net)
www.codeproject.com/aspnet/wordapplication.asp
Tror att den går igenom allt du behöver för att skriva till ett worddokument.
Hämta förslagsvis den data du vill ha från din databas och stoppa inSv:Skapa Word dokument med info från databas (asp.net)
<code>
Dim w As Word.Application = New Word.Application
Dim rs As ADODB.Recordset = New ADODB.Recordset
Dim cn As ADODB.Connection = New ADODB.Connection
Dim sql As String
Dim namn As String, nr As String, epost As String, path As String
cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("db\news.mdb")
cn.Open(cn.ConnectionString)
sql = "select * from tblPerson where id=" & Request("id")
rs.Open(sql, cn, ADODB.CursorTypeEnum.adOpenStatic, ADODB.LockTypeEnum.adLockReadOnly)
Do While Not rs.EOF
namn = rs("fullname").Value
nr = rs("nr").Value
epost = rs("epost").Value
rs.MoveNext()
Loop
Dim doc As Word.Document
With w
doc = .Documents.Open(Server.MapPath("tr.doc"), , False)
With doc
.FormFields.Item("txtYear").Result = DatePart(DateInterval.Year, Now)
.FormFields.Item("txtMonth").Result = DatePart(DateInterval.Month, Now)
.FormFields.Item("txtNr").Result = nr
.FormFields.Item("txtName").Result = namn
.FormFields.Item("txtWeek").Result = DatePart(DateInterval.WeekOfYear, Now)
doc.SaveAs(doc.Path & "\tr.doc", Word.WdSaveFormat.wdFormatDocument)
path = doc.Path
doc.Close(0)
End With
End With
Dim objMail As New Web.Mail.MailMessage
Dim objAttachment As New Web.Mail.MailAttachment(path & "\tr.doc")
objMail.From = "avsändare@firma.nu"
objMail.To = epost 'epostadressen hämtad ur databasen
objMail.Subject = "Tjänstgöringsrapport"
objMail.Body = "Glöm inte att skriva på rapporten..."
objMail.Attachments.Add(objAttachment)
objMail.BodyFormat = Web.Mail.MailFormat.Text
Web.Mail.SmtpMail.SmtpServer = "smtp.firma.nu"
Web.Mail.SmtpMail.Send(objMail)
</code>
Koden ovan öppnar et befintligt worddokument innehållande formulärfält som sedan fylls med data från databasen. Filen sparas och skickas med mail till den person som denna tjänstgöringsrapport är anpassad för. Sv:Skapa Word dokument med info från databas (asp.net)
Sv: Skapa Word dokument med info från databas (asp.net)
Sv:Skapa Word dokument med info från databas (asp.net)
Sv: Skapa Word dokument med info från databas (asp.net)