BLOG ĐANG TRONG THỜI GIAN PHÁT TRIỂN, MONG SỰ QUAN TÂM CỦA MỌI NGƯỜI DÀNH CHO BLOG MỚI NÀY CỦA HUNG.PRO.VN

[VB.NET] Hướng dẫn lấy dữ liệu từ winform sang Microsoft word

[VB.NET] Hướng dẫn fill dữ liệu từ winform vào Microsoft word
3 min read
Xin chào mọi người, bài viết này mình sẽ hướng dẫn mọi người một cách để FILL dữ liệu từ WINFORM sang MICROSOFT WORD một cách nhanh nhất, mà không phải copy rắc rối.


Chúng ta bắt đầu nhé.

Đầu tiên, các bạn cần cài đặt thư viện DocX.

Thư viện này có cung cấp 2 phiên bản: cá nhân và thương mại.

Nếu dùng cá nhân thì vẫn dùng bình thường nhé bạn.

FULL CODE.

Imports Xceed.Words.NET

Public Class Form1
    Private templatePath As String = "Template.docx"
    Private outputPath As String = "Output.docx"
    Private newImagePath As String = ""

    <Obsolete>
    Private Sub btnFillToWord_Click(sender As Object, e As EventArgs) Handles btnFillToWord.Click
        Try
            Dim document As DocX = DocX.Load(templatePath)

            document.ReplaceText("<sohopdong>", txtSoHopDong.Text.Trim())

            document.ReplaceText("<tenkhachhang>", txtTenKhachHang.Text.Trim())
            document.ReplaceText("<dienthoai>", txtDienThoai.Text.Trim())

            document.ReplaceText("<diachi>", txtDiaChi.Text.Trim())

            If newImagePath <> "" Then

                Dim placeholderParagraph = document.Paragraphs.FirstOrDefault(Function(p) p.Text.Contains("<hinhkhachhang>"))

                If placeholderParagraph IsNot Nothing Then

                    Dim img = document.AddImage(newImagePath)
                    Dim picture = img.CreatePicture()
                    picture.Width = 80
                    picture.Height = 100

                    placeholderParagraph.InsertPicture(picture)
                    document.ReplaceText("<hinhkhachhang>", "")

                Else
                    MessageBox.Show("The picture placeholder was not found in the document.", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning)
                End If
            End If


            document.SaveAs(outputPath)

            MessageBox.Show("File Word đã được tạo thành công tại:" & vbCrLf & outputPath, "Thành công", MessageBoxButtons.OK, MessageBoxIcon.Information)
            Process.Start(outputPath)
        Catch ex As Exception
            MessageBox.Show("Có lỗi xảy ra: " & ex.Message, "Lỗi", MessageBoxButtons.OK, MessageBoxIcon.Error)
        End Try
    End Sub

    Private Sub PictureBox1_Click(sender As Object, e As EventArgs) Handles PictureBox1.Click
        Dim dlg = New OpenFileDialog()
        If dlg.ShowDialog() = DialogResult.OK Then
            newImagePath = dlg.FileName
            PictureBox1.LoadAsync(newImagePath)
        End If

    End Sub

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load


    End Sub
End Class

Như vậy đã hoàn thành, chúc các bạn thành công.

Nếu ai chưa rỏ thì có thể DOWNLOAD FULL SOURCE ở bên dưới về để tìm hiểu nhé.

Bạn có thể thích những bài đăng này

  • Dưới đây là tóm tắt nhanh chức năng của mã này Kiểm tra phiên bản hiện tại với phiên bản mới nhất được lưu trữ trên hosting or github (có thể là bất kỳ trình xem văn bản thô nà…
  • .NET là một framework để phát triển các ứng dụng phần mềm. Nó được thiết kế và phát triển bởi Microsoft và phiên bản beta đầu tiên được phát hành vào năm 2000. Nó được sử dụng để …
  • Điều khiển hẹn giờ là điều khiển lặp được sử dụng để lặp lại bất kỳ tác vụ nào trong một khoảng thời gian nhất định. Đây là một điều khiển quan trọng được sử dụng trong lập trình p…
  • Để cài đặt Visual Basic bạn chỉ cần tải Visual Studio Editor, sau đó cài đặt là có thể sử dụng được ngay. Có thể mất đến một hoặc hai giờ để tải xuống và cài đặt, tùy thuộc vào tốc…
  • Xin chào các bạn, bài viết hôm nay mình tiếp tục chia sẻ các bạn cách sử dụng HTMLCodeViewer và CSSCodeViewer trên Devexpress Winform. [DEVEXPRESS] Hướng dẫn sử dụng HTML and CSS …
  • Điều cơ bản chúng ta sẽ làm là các bước sau: Tạo ký tự ngẫu nhiên. In chúng trong hộp ảnh. Làm cho chúng bị trầy xước. 1.Tạo ký tự ngẫu nhiên LƯU Ý: Đảm bảo bạn viết Lệnh "Ngẫ…

3 nhận xét

  1. second ago
    test comment
    1. second ago
      test reply
    2. second ago
      test reply