làm cách nào tôi có thể xuất dữ liệu được hiển thị trên DBgrid sang tệp pdf?Xuất dữ liệu vào pdf
Trả lời
Vâng, dữ liệu được hiển thị trong DBGrid được cung cấp bởi tập dữ liệu được đính kèm với dbgrid đó, vì vậy xuất dữ liệu trong DBGrid sang PDF có nghĩa là xuất dữ liệu trong tập dữ liệu của bạn sang PDF.
Tùy chọn dễ nhất là sử dụng công cụ Báo cáo. Có nhiều công cụ báo cáo khác nhau có sẵn cho Delphi, ví dụ: Báo cáo Rave, FastReport, Trình tạo báo cáo, QuickReport, v.v.
Công cụ này cho phép bạn thiết kế báo cáo in từ dữ liệu của mình và cho phép bạn in báo cáo hoặc xuất báo cáo sang các định dạng như HTML, DOC, PDF, v.v. Báo cáo Rave được vận chuyển với Delphi và bạn có thể sử dụng nó miễn phí. Cá nhân tôi thích FastReport và sử dụng nó trong các ứng dụng của tôi.
Một tùy chọn khác là nếu bạn đã cài đặt máy in PDF ảo trên hệ thống đích, bạn có thể chọn máy in làm máy in và sử dụng lớp TPrinter của Delphi để viết trực tiếp trên canvas máy in và máy in PDF ảo của bạn sẽ tạo PDF cho bạn thay vì in dữ liệu trên giấy.
Tùy chọn thứ ba là sử dụng các thành phần của bên thứ ba được xây dựng riêng cho thao tác PDF và cho phép bạn tạo hoặc chỉnh sửa các tệp PDF trong ứng dụng của mình.
Trân
thử EMS dữ liệu tiên tiến xuất khẩu VCL
http://sqlmanager.net/en/products/tools/advancedexport
- dữ liệu (Datasets) xuất khẩu vào 17 định dạng phổ biến nhất: MS Access, MS Excel, MS Word, Open Định dạng XML, Định dạng tài liệu mở (ODF), RTF, HTML, XML, PDF, TXT, DBF, CSV, SYLK, DIF, LaTeX, SQL và Windows Clipboard
- Borland Delphi 5-7, 2005, 2006, CodeGear Delphi 2007, 2009 và Borland C++ Builder 5-6, C odeGear C++ Builder 2007, 2009 hỗ trợ
- Xuất dữ liệu Unicode. Mã hóa văn bản được đặt trước theo cách thủ công cho dữ liệu được xuất (UTF-8, UTF-16/UCS-2, UTF-32/UCS-4, Latin1, Latin2, Latin5, Latin7 và hơn thế nữa)
- Lưu dữ liệu để xem, sửa đổi, in trong tương lai hoặc web ấn
- Easy-to-sử dụng thuật sĩ cho phép người dùng cuối cùng của bạn để xuất dữ liệu một cách nhanh chóng
- tùy chọn xuất khẩu mạnh mẽ cho mỗi định dạng dữ liệu
- 100% mã nguồn gốc Delphi
- Không thư viện bổ sung hoặc phần mềm cần thiết để vận hành
- Hệ thống trợ giúp chi tiết và ứng dụng demo
- thành phần mạnh mẽ và tài sản biên tập
- Thiết lập định dạng sử dụng cho từng lĩnh vực riêng biệt
- đa ngôn ngữ hỗ trợ
Bạn có thể lặp qua các dữ liệu bản thân và sử dụng tuyệt vời xuất khẩu VCL eDocEngine từ Gnostice. Nó cũng kết nối với các công cụ báo cáo và các thành phần khác.
Giá bắt đầu từ $ 199 http://www.gnostice.com/edocengine_vcl.asp – Mawg
Scalabium Bộ xuất cho Delphi (bao gồm 2009) hỗ trợ nhiều định dạng xuất, bao gồm PDF và các định dạng văn phòng khác có và không có OLE.Các thành phần xuất khẩu có thể được sử dụng với con cháu TDBGrid và TDataSet.
Nó có thể được sử dụng không trực quan nhưng cũng cung cấp trình hướng dẫn xuất có thể định cấu hình. Chúng tôi sử dụng thành công nó trong một ứng dụng di cư từ Delphi 7 đến 2009.
nguồn EUR 35 wthout; 50 EUR với nguồn. Có vẻ tốt – Mawg
Public Sub ExportDataTableToPDF(ByVal dtImport As DataTable)
Dim strQuery As String = "select er_num,er_shortd,er_longd,er_severity from mv_error"
Dim doc As New Document(iTextSharp.text.PageSize.LETTER, 10, 10, 42, 35)
Try
'====================================================================
'Dim str As String = DateTime.Now.ToString("yyyyMMddHHmmssff")
'Dim sWebSettingPath As String = ConfigurationSettings.AppSettings("ExptLoctPath")
'Dim str1 As String = "E:\ExportPdf_File"
'Dim WorkingFile As String
'Dim s As String
'If (Directory.Exists(sWebSettingPath)) Then
' s = "already exists"
' WorkingFile = Path.Combine(sWebSettingPath, "" & str & " DataTestData.pdf")
'Else
' Dim ss As String = "C:\ReportPDF"
' WorkingFile = Path.Combine(str1, "" & str & " DataTestData.pdf")
' Directory.CreateDirectory(ss)
'End If
'====================================================================
'Folder Exists in Particular folder or not cheak ifnot create a folder
Dim strDateTime As String = DateTime.Now.ToString("yyyyMMddHHmmssff")
Dim sWebSettingPath As String = ConfigurationSettings.AppSettings("ExptLoctPath")
Dim str1 As String = "E:\ExportPdf_File"
Dim WorkingFile As String
Dim s As String
If (Directory.Exists(sWebSettingPath)) Then
s = "already exists"
WorkingFile = Path.Combine(sWebSettingPath, "" & strDateTime & "_DataTestData.pdf")
Else
Dim sWebStingNotPath As String = "C:\ReportPDFTest"
Directory.CreateDirectory(sWebStingNotPath)
WorkingFile = Path.Combine(sWebStingNotPath, "" & strDateTime & " DataTestData.pdf")
End If
'====================================================================
Dim fs As New FileStream(WorkingFile, FileMode.Create, FileAccess.Write, FileShare.None)
'Create Document class object and set its size to letter and give space left, right, Top, Bottom Margin
PdfWriter.GetInstance(doc, fs)
' Dim wri As PdfWriter = PdfWriter.GetInstance(doc, New FileStream("C:\Documents and Settings\lessly.l\Desktop\iTextSharp\Test11.pdf", FileMode.Create))
doc.Open()
'Open Document to write
Dim font8 As Font = FontFactory.GetFont("ARIAL", 7)
'Write some content
Dim paragraph As New Paragraph("Team :: CataPult")
Dim dt As DataTable = dtImport
If dt IsNot Nothing Then
'Craete instance of the pdf table and set the number of column in that table
Dim PdfTable As New PdfPTable(dt.Columns.Count)
Dim PdfPCell As PdfPCell = Nothing
Dim pdfrow As PdfPRow = Nothing
For column As Integer = 0 To dt.Columns.Count - 1
PdfTable.HeaderRows = dt.Columns.Count
PdfPCell = New PdfPCell(New Phrase(New Chunk(dt.Columns(column).Caption.ToString().ToUpper, New Font(Font.HELVETICA, 8.0F, Font.BOLD, Color.WHITE))))
PdfPCell.BackgroundColor = New Color(System.Drawing.ColorTranslator.FromHtml("#66CCFF"))
PdfTable.AddCell(PdfPCell)
Next
'Each Row Values added
For rows As Integer = 0 To dt.Rows.Count - 1
For column As Integer = 0 To dt.Columns.Count - 1
PdfTable.HeaderRows = dt.Columns.Count
PdfPCell = New PdfPCell(New Phrase(New Chunk(dt.Rows(rows)(column).ToString(), font8)))
PdfTable.AddCell(PdfPCell)
Next
Next
PdfTable.SpacingBefore = 15.0F
' Give some space after the text or it may overlap the table
doc.Add(paragraph)
' add paragraph to the document
' add pdf table to the document
doc.Add(PdfTable)
End If
Catch docEx As DocumentException
'handle pdf document exception if any
Catch ioEx As IOException
' handle IO exception
Catch ex As Exception
' ahndle other exception if occurs
Finally
'Close document and writer
doc.Close()
End Try
End Sub
Vui lòng thêm giải thích mỏng về * mã * của bạn, * tại sao * bạn nên giới thiệu nó, hoặc * cách * bạn đi đến kết luận. =) Ngoài ra, nó đầy mã nhận xét. Đó có phải là * thực sự * cần thiết không? –
OP yêu cầu một giải pháp trong Delphi, không phải Visual Basic; mặc dù tôi cho rằng anh ấy _could_ tự chuyển đổi điều này (nếu có, vui lòng đăng ở đây, cảm ơn) – Mawg
- 1. Thêm siêu dữ liệu vào PDF
- 2. Xuất dữ liệu GridView vào tệp CSV
- 3. Xuất PDF trong php
- 4. Cách dễ nhất để trích xuất dữ liệu từ PDF là gì?
- 5. Kết xuất dữ liệu JSON vào mẫu backbone.js
- 6. JavaScript - xuất dữ liệu bảng HTML vào Excel
- 7. Xuất dữ liệu MYSQL vào Excel/CSV qua php
- 8. Làm cách nào để xuất dữ liệu biểu mẫu HTML sang PDF?
- 9. Lỗi FPDF: Một số dữ liệu đã được xuất, không thể gửi tệp PDF trên 000webhost
- 10. Cách xuất (kết xuất) Dữ liệu WebSQL
- 11. Cơ sở dữ liệu xuất MSSQL với dữ liệu
- 12. Dữ liệu blob được xuất khác với dữ liệu DB
- 13. Chuyển đổi dữ liệu có thể định dạng thành PDF
- 14. Có cách nào để thêm siêu dữ liệu "tác giả" vào pdf được tạo từ R
- 15. Trích xuất xdp hoặc xfa từ PDF
- 16. Xuất một trang php sang pdf
- 17. Cách đưa trang vào PDF trong tài liệu PDF bằng Python
- 18. Đính kèm dữ liệu ẩn (sinh trắc học) vào chữ ký số trên pdf
- 19. Trích xuất văn bản từ PDF
- 20. Xuất dữ liệu từ MATLAB sang csv
- 21. Trích xuất dữ liệu với Excel
- 22. Xuất dữ liệu từ một DataTable YUI
- 23. Truy xuất dữ liệu Json bằng HttpClient
- 24. Phế liệu: Đề xuất cho nhiều lần trả lại/mục vào cơ sở dữ liệu
- 25. Viết siêu dữ liệu để một pdf sử dụng PyObjC
- 26. Truy cập dữ liệu được truy xuất
- 27. Dữ liệu thông báo đẩy truy xuất
- 28. Xuất JasperReport sang PDF OutputStream?
- 29. Kết xuất PDF của Android
- 30. Seam PDF - Gắn "p: dữ liệu" phím bên trái
Từ $ 195, nhưng có vẻ tốt. Vẫn đang tìm kiếm giải pháp miễn phí ;-) – Mawg