|
@@ -1,5 +1,6 @@
|
|
|
using Aspose.Cells;
|
|
|
using Aspose.Words;
|
|
|
+using Aspose.Words.Drawing;
|
|
|
using Aspose.Words.Tables;
|
|
|
using Microsoft.AspNetCore.SignalR;
|
|
|
using NPOI.HSSF.UserModel;
|
|
@@ -26,6 +27,8 @@ using System.Collections;
|
|
|
using System.Data;
|
|
|
using System.Diagnostics;
|
|
|
using System.Globalization;
|
|
|
+using System.Reflection.PortableExecutable;
|
|
|
+using Ubiety.Dns.Core;
|
|
|
using static OASystem.Infrastructure.Repositories.Groups.AirTicketResRepository;
|
|
|
using Bookmark = Aspose.Words.Bookmark;
|
|
|
using Cell = Aspose.Words.Tables.Cell;
|
|
@@ -10753,7 +10756,7 @@ ORDER by gctggrc.id DESC
|
|
|
string strFileName = "HotelStatement/";
|
|
|
var dele = await _sqlSugar.Queryable<Grp_DelegationInfo>().Where(it => it.IsDel == 0 && it.Id == _dto.DiId).FirstAsync();
|
|
|
if (dele != null)
|
|
|
- strFileName += dele.TourCode;
|
|
|
+ strFileName += $"{dele.TourCode}_";
|
|
|
|
|
|
var guestDatas = await _sqlSugar.Queryable<Crm_DeleClient>().Where(it => it.IsDel == 0).ToListAsync();
|
|
|
for (int i = 0; i < hrDtas.Count; i++)
|
|
@@ -10803,45 +10806,453 @@ ORDER by gctggrc.id DESC
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- strFileName += "VOUCHER.docx";
|
|
|
+ strFileName += $"{DateTime.UtcNow.ToString("yyyyMMddHHmmss")}_VOUCHER.docx";
|
|
|
|
|
|
Document doc = new Document();
|
|
|
- DocumentBuilder builder = new DocumentBuilder(doc);
|
|
|
|
|
|
+ DocumentBuilder builder = new DocumentBuilder(doc);
|
|
|
try
|
|
|
{
|
|
|
+ #region 设置页眉
|
|
|
+
|
|
|
+ string voucherHeaderPath = $"./Images/VoucherHeader.png";
|
|
|
+
|
|
|
+
|
|
|
+ builder.MoveToHeaderFooter(HeaderFooterType.HeaderPrimary);
|
|
|
+
|
|
|
+ //靠右
|
|
|
+ builder.ParagraphFormat.Alignment = ParagraphAlignment.Left;
|
|
|
+ // 设置页脚上下边距
|
|
|
+ builder.PageSetup.HeaderDistance = 42;
|
|
|
+
|
|
|
+ // 添加页眉线
|
|
|
+ Aspose.Words.Border borderHeader = null;
|
|
|
+ try
|
|
|
+ {
|
|
|
+ borderHeader = builder.ParagraphFormat.Borders.Bottom;
|
|
|
+ }
|
|
|
+ catch (Exception e)
|
|
|
+ {
|
|
|
+ // TODO Auto-generated catch block
|
|
|
+ //e.printStackTrace();
|
|
|
+ }
|
|
|
+ borderHeader.Shadow = true;
|
|
|
+ borderHeader.DistanceFromText = 2;
|
|
|
+ borderHeader.LineStyle = Aspose.Words.LineStyle.Single;
|
|
|
+
|
|
|
+ //页眉加载图片
|
|
|
+ var image = Image.FromFile(voucherHeaderPath);
|
|
|
+
|
|
|
+ builder.InsertImage(image, RelativeHorizontalPosition.Margin, 0, RelativeVerticalPosition.Margin, 0, 1.70, 2.70, WrapType.None);
|
|
|
+
|
|
|
+ #endregion
|
|
|
+
|
|
|
+
|
|
|
+ builder.MoveToDocumentStart();
|
|
|
+
|
|
|
|
|
|
foreach (var item in hrDtas)
|
|
|
{
|
|
|
//标题
|
|
|
builder.ParagraphFormat.StyleIdentifier = StyleIdentifier.Title;
|
|
|
- builder.Writeln("ACCOMMODATION VOUCHER");
|
|
|
+ builder.ParagraphFormat.LineSpacing = 1;
|
|
|
+ builder.ParagraphFormat.Style.Font.Name = "微软雅黑";
|
|
|
+ //builder.ParagraphFormat.Style.Font.Size = 12;
|
|
|
+ //builder.ParagraphFormat.Style.Font.Bold = true;
|
|
|
+ builder.ParagraphFormat.Alignment = ParagraphAlignment.Center;
|
|
|
+ builder.Writeln(@$"ACCOMMODATION VOUCHER");
|
|
|
|
|
|
builder.ParagraphFormat.StyleIdentifier = StyleIdentifier.Title;
|
|
|
- builder.Writeln($"VOUCHER No:{item.CheckNumber} DATE: {item.CreateTime.ToString("yyyy-MM-dd")}");
|
|
|
+ builder.ParagraphFormat.Alignment = ParagraphAlignment.Center;
|
|
|
+ builder.ParagraphFormat.LineSpacing = 1;
|
|
|
+ builder.ParagraphFormat.Style.Font.Name = "微软雅黑";
|
|
|
+ //builder.ParagraphFormat.Style.Font.Size = 12;
|
|
|
+ //builder.ParagraphFormat.Style.Font.Bold = true;
|
|
|
+ builder.Writeln(@$"VOUCHER No:{item.CheckNumber} DATE: {item.CreateTime.ToString("yyyy-MM-dd")}");
|
|
|
+
|
|
|
+ //获取Font对象
|
|
|
+ Aspose.Words.Font font = builder.Font;
|
|
|
+ //字体大小
|
|
|
+ font.Size = 8;
|
|
|
+ //是否粗体
|
|
|
+ font.Bold = false;
|
|
|
+ //下划线样式,None为无下划线
|
|
|
+ font.Underline = Underline.None;
|
|
|
+
|
|
|
+
|
|
|
+ builder.StartTable();
|
|
|
+
|
|
|
+ //RowFormat rowf = builder.RowFormat;
|
|
|
+ //rowf.Height = 20;
|
|
|
+
|
|
|
+ // 设置边框颜色
|
|
|
+ builder.CellFormat.Borders.Top.Color = System.Drawing.Color.Black;
|
|
|
+ //设置边框样式
|
|
|
+ //builder.CellFormat.Borders.Top.LineStyle = Aspose.Words.LineStyle.Double;
|
|
|
+ builder.CellFormat.Borders.LineStyle = Aspose.Words.LineStyle.None;
|
|
|
|
|
|
//表格
|
|
|
- builder.InsertCell(); //插入单元格
|
|
|
+ #region 第一行
|
|
|
+ builder.InsertCell();
|
|
|
+ builder.CellFormat.PreferredWidth = PreferredWidth.FromPercent(20);//列宽 - 百分比
|
|
|
+ builder.CellFormat.HorizontalMerge = CellMerge.None;
|
|
|
+ builder.ParagraphFormat.Style.Font.Name = "微软雅黑";
|
|
|
+ builder.ParagraphFormat.Style.Font.Size = 8;
|
|
|
+ builder.ParagraphFormat.Style.Font.Bold = false;
|
|
|
+ builder.CellFormat.FitText = true;//单元格内文字设为多行(默认为单行,会影响单元格宽)
|
|
|
+ builder.ParagraphFormat.Alignment = ParagraphAlignment.Right;//对齐
|
|
|
+ builder.Write("TOUR NO:");
|
|
|
+
|
|
|
+ builder.InsertCell();
|
|
|
+ builder.CellFormat.PreferredWidth = PreferredWidth.FromPercent(30);//列宽 - 百分比
|
|
|
+ builder.CellFormat.HorizontalMerge = CellMerge.None;
|
|
|
+ builder.ParagraphFormat.Style.Font.Name = "微软雅黑";
|
|
|
+ builder.ParagraphFormat.Style.Font.Size = 8;
|
|
|
+ builder.ParagraphFormat.Style.Font.Bold = false;
|
|
|
+ builder.CellFormat.FitText = true;//单元格内文字设为多行(默认为单行,会影响单元格宽)
|
|
|
+ builder.ParagraphFormat.Alignment = ParagraphAlignment.Left;//对齐
|
|
|
+ builder.Write($"{dele?.TourCode ?? "-"}");
|
|
|
+
|
|
|
+ builder.InsertCell();
|
|
|
+ builder.CellFormat.PreferredWidth = PreferredWidth.FromPercent(20);//列宽 - 百分比
|
|
|
+ builder.CellFormat.HorizontalMerge = CellMerge.None;
|
|
|
+ builder.ParagraphFormat.Style.Font.Name = "微软雅黑";
|
|
|
+ builder.ParagraphFormat.Style.Font.Size = 8;
|
|
|
+ builder.ParagraphFormat.Style.Font.Bold = false;
|
|
|
+ builder.CellFormat.FitText = true;//单元格内文字设为多行(默认为单行,会影响单元格宽)
|
|
|
+ builder.ParagraphFormat.Alignment = ParagraphAlignment.Right;//对齐
|
|
|
+ builder.Write($"CITY:");
|
|
|
+
|
|
|
+ builder.InsertCell();
|
|
|
+ builder.CellFormat.PreferredWidth = PreferredWidth.FromPercent(30);//列宽 - 百分比
|
|
|
+ builder.CellFormat.HorizontalMerge = CellMerge.None;
|
|
|
+ builder.ParagraphFormat.Style.Font.Name = "微软雅黑";
|
|
|
+ builder.ParagraphFormat.Style.Font.Size = 8;
|
|
|
+ builder.ParagraphFormat.Style.Font.Bold = false;
|
|
|
+ builder.CellFormat.FitText = true;//单元格内文字设为多行(默认为单行,会影响单元格宽)
|
|
|
+ builder.ParagraphFormat.Alignment = ParagraphAlignment.Left;//对齐
|
|
|
+ builder.Write($"{item.City}");
|
|
|
+
|
|
|
+ builder.EndRow();
|
|
|
+ #endregion
|
|
|
+
|
|
|
+ #region 第二行
|
|
|
+ builder.InsertCell();
|
|
|
+ builder.CellFormat.PreferredWidth = PreferredWidth.FromPercent(20);//列宽 - 百分比
|
|
|
+ builder.CellFormat.HorizontalMerge = CellMerge.None;
|
|
|
+ builder.ParagraphFormat.Style.Font.Name = "微软雅黑";
|
|
|
+ builder.ParagraphFormat.Style.Font.Size = 8;
|
|
|
+ builder.ParagraphFormat.Style.Font.Bold = false;
|
|
|
+ builder.CellFormat.FitText = true;//单元格内文字设为多行(默认为单行,会影响单元格宽)
|
|
|
+ builder.ParagraphFormat.Alignment = ParagraphAlignment.Right;//对齐
|
|
|
+ builder.Write("CONFIRMATION NO:");
|
|
|
+
|
|
|
+ builder.InsertCell();
|
|
|
+ builder.CellFormat.PreferredWidth = PreferredWidth.FromPercent(30);//列宽 - 百分比
|
|
|
+ builder.ParagraphFormat.Style.Font.Name = "微软雅黑";
|
|
|
+ builder.ParagraphFormat.Style.Font.Size = 8;
|
|
|
+ builder.ParagraphFormat.Style.Font.Bold = false;
|
|
|
+ builder.CellFormat.FitText = true;//单元格内文字设为多行(默认为单行,会影响单元格宽)
|
|
|
+ builder.ParagraphFormat.Alignment = ParagraphAlignment.Left;//对齐
|
|
|
+ builder.CellFormat.VerticalMerge = CellMerge.None;
|
|
|
+ builder.CellFormat.HorizontalMerge = CellMerge.First;
|
|
|
+ builder.Write($"{item.DetermineNo}");
|
|
|
+
|
|
|
+ builder.InsertCell();
|
|
|
+ builder.CellFormat.PreferredWidth = PreferredWidth.FromPercent(20);//列宽 - 百分比
|
|
|
+ builder.CellFormat.HorizontalMerge = CellMerge.Previous;
|
|
|
+
|
|
|
+ builder.InsertCell();
|
|
|
+ builder.CellFormat.PreferredWidth = PreferredWidth.FromPercent(30);//列宽 - 百分比
|
|
|
+ builder.CellFormat.HorizontalMerge = CellMerge.Previous;
|
|
|
+
|
|
|
+ builder.EndRow();
|
|
|
+ #endregion
|
|
|
+
|
|
|
+ #region 第三行
|
|
|
+ builder.InsertCell();
|
|
|
+ builder.CellFormat.PreferredWidth = PreferredWidth.FromPercent(20);//列宽 - 百分比
|
|
|
+ builder.ParagraphFormat.Style.Font.Name = "微软雅黑";
|
|
|
+ builder.ParagraphFormat.Style.Font.Size = 8;
|
|
|
+ builder.ParagraphFormat.Style.Font.Bold = false;
|
|
|
+ builder.CellFormat.HorizontalMerge = CellMerge.None;
|
|
|
+ builder.CellFormat.FitText = true;//单元格内文字设为多行(默认为单行,会影响单元格宽)
|
|
|
+ builder.ParagraphFormat.Alignment = ParagraphAlignment.Right;//对齐
|
|
|
+ builder.Write($"HOTEL NAME:");
|
|
|
+
|
|
|
+ builder.InsertCell();
|
|
|
+ builder.CellFormat.PreferredWidth = PreferredWidth.FromPercent(30);//列宽 - 百分比
|
|
|
+ builder.ParagraphFormat.Style.Font.Name = "微软雅黑";
|
|
|
+ builder.ParagraphFormat.Style.Font.Size = 8;
|
|
|
+ builder.ParagraphFormat.Style.Font.Bold = false;
|
|
|
+ builder.CellFormat.HorizontalMerge = CellMerge.None;
|
|
|
+ builder.CellFormat.FitText = true;//单元格内文字设为多行(默认为单行,会影响单元格宽)
|
|
|
+ builder.ParagraphFormat.Alignment = ParagraphAlignment.Left;//对齐
|
|
|
+ builder.CellFormat.HorizontalMerge = CellMerge.First;
|
|
|
+ builder.Write($"{item.HotelName}");
|
|
|
+
|
|
|
+ builder.InsertCell();
|
|
|
+ builder.CellFormat.PreferredWidth = PreferredWidth.FromPercent(20);//列宽 - 百分比
|
|
|
+ builder.CellFormat.HorizontalMerge = CellMerge.Previous;
|
|
|
+
|
|
|
+ builder.InsertCell();
|
|
|
+ builder.CellFormat.PreferredWidth = PreferredWidth.FromPercent(30);//列宽 - 百分比
|
|
|
+ builder.CellFormat.HorizontalMerge = CellMerge.Previous;
|
|
|
+ builder.EndRow();
|
|
|
+ #endregion
|
|
|
+
|
|
|
+ #region 第四行
|
|
|
+ builder.InsertCell();
|
|
|
+ builder.CellFormat.PreferredWidth = PreferredWidth.FromPercent(20);//列宽 - 百分比
|
|
|
+ builder.ParagraphFormat.Style.Font.Name = "微软雅黑";
|
|
|
+ builder.ParagraphFormat.Style.Font.Size = 8;
|
|
|
+ builder.ParagraphFormat.Style.Font.Bold = false;
|
|
|
+ builder.CellFormat.HorizontalMerge = CellMerge.None;
|
|
|
+ builder.CellFormat.FitText = true;//单元格内文字设为多行(默认为单行,会影响单元格宽)
|
|
|
+ builder.ParagraphFormat.Alignment = ParagraphAlignment.Right;//对齐
|
|
|
+ builder.Write($"HOTEL ADDRESS:");
|
|
|
+
|
|
|
+
|
|
|
+ builder.InsertCell();
|
|
|
+ builder.CellFormat.PreferredWidth = PreferredWidth.FromPercent(30);//列宽 - 百分比
|
|
|
+ builder.ParagraphFormat.Style.Font.Name = "微软雅黑";
|
|
|
+ builder.ParagraphFormat.Style.Font.Size = 8;
|
|
|
+ builder.ParagraphFormat.Style.Font.Bold = false;
|
|
|
+ builder.CellFormat.HorizontalMerge = CellMerge.None;
|
|
|
+ builder.CellFormat.FitText = true;//单元格内文字设为多行(默认为单行,会影响单元格宽)
|
|
|
+ builder.ParagraphFormat.Alignment = ParagraphAlignment.Left;//对齐
|
|
|
+ builder.CellFormat.HorizontalMerge = CellMerge.First;
|
|
|
+ builder.Write($"{item.HotelAddress}");
|
|
|
+
|
|
|
+ builder.InsertCell();
|
|
|
builder.CellFormat.PreferredWidth = PreferredWidth.FromPercent(20);//列宽 - 百分比
|
|
|
- //builder.CellFormat.PreferredWidth = PreferredWidth.FromPercent(20);//列宽 - 百分比
|
|
|
- builder.ParagraphFormat.Alignment = ParagraphAlignment.Right;//对齐 - 靠右
|
|
|
+ builder.CellFormat.HorizontalMerge = CellMerge.Previous;
|
|
|
|
|
|
+ builder.InsertCell();
|
|
|
+ builder.CellFormat.PreferredWidth = PreferredWidth.FromPercent(30);//列宽 - 百分比
|
|
|
+ builder.CellFormat.HorizontalMerge = CellMerge.Previous;
|
|
|
|
|
|
+ builder.EndRow();
|
|
|
+ #endregion
|
|
|
|
|
|
+ #region 第五行
|
|
|
+ builder.InsertCell();
|
|
|
+ builder.CellFormat.PreferredWidth = PreferredWidth.FromPercent(20);//列宽 - 百分比
|
|
|
+ builder.ParagraphFormat.Style.Font.Name = "微软雅黑";
|
|
|
+ builder.ParagraphFormat.Style.Font.Size = 8;
|
|
|
+ builder.ParagraphFormat.Style.Font.Bold = false;
|
|
|
+ builder.CellFormat.HorizontalMerge = CellMerge.None;
|
|
|
+ builder.CellFormat.FitText = true;//单元格内文字设为多行(默认为单行,会影响单元格宽)
|
|
|
+ builder.ParagraphFormat.Alignment = ParagraphAlignment.Right;//对齐
|
|
|
+ builder.Write("TEL:");
|
|
|
+
|
|
|
+ builder.InsertCell();
|
|
|
+ builder.CellFormat.PreferredWidth = PreferredWidth.FromPercent(30);//列宽 - 百分比
|
|
|
+ builder.ParagraphFormat.Style.Font.Name = "微软雅黑";
|
|
|
+ builder.ParagraphFormat.Style.Font.Size = 8;
|
|
|
+ builder.ParagraphFormat.Style.Font.Bold = false;
|
|
|
+ builder.CellFormat.HorizontalMerge = CellMerge.None;
|
|
|
+ builder.CellFormat.FitText = true;//单元格内文字设为多行(默认为单行,会影响单元格宽)
|
|
|
+ builder.ParagraphFormat.Alignment = ParagraphAlignment.Left;//对齐
|
|
|
+ builder.Write($"{item.HotelTel}");
|
|
|
+
|
|
|
+ builder.InsertCell();
|
|
|
+ builder.CellFormat.PreferredWidth = PreferredWidth.FromPercent(20);//列宽 - 百分比
|
|
|
+ builder.ParagraphFormat.Style.Font.Name = "微软雅黑";
|
|
|
+ builder.ParagraphFormat.Style.Font.Size = 8;
|
|
|
+ builder.ParagraphFormat.Style.Font.Bold = false;
|
|
|
+ builder.CellFormat.HorizontalMerge = CellMerge.None;
|
|
|
+ builder.CellFormat.FitText = true;//单元格内文字设为多行(默认为单行,会影响单元格宽)
|
|
|
+ builder.ParagraphFormat.Alignment = ParagraphAlignment.Right;//对齐
|
|
|
+ builder.Write($"FAX:");
|
|
|
+
|
|
|
+ builder.InsertCell();
|
|
|
+ builder.CellFormat.PreferredWidth = PreferredWidth.FromPercent(30);//列宽 - 百分比
|
|
|
+ builder.ParagraphFormat.Style.Font.Name = "微软雅黑";
|
|
|
+ builder.ParagraphFormat.Style.Font.Size = 8;
|
|
|
+ builder.ParagraphFormat.Style.Font.Bold = false;
|
|
|
+ builder.CellFormat.HorizontalMerge = CellMerge.None;
|
|
|
+ builder.CellFormat.FitText = true;//单元格内文字设为多行(默认为单行,会影响单元格宽)
|
|
|
+ builder.ParagraphFormat.Alignment = ParagraphAlignment.Left;//对齐
|
|
|
+ builder.Write($"{item.HotelFax}");
|
|
|
+
|
|
|
+ builder.EndRow();
|
|
|
+ #endregion
|
|
|
|
|
|
+ #region 第六行
|
|
|
+ builder.InsertCell();
|
|
|
+ builder.CellFormat.PreferredWidth = PreferredWidth.FromPercent(20);//列宽 - 百分比
|
|
|
+ builder.ParagraphFormat.Style.Font.Name = "微软雅黑";
|
|
|
+ builder.ParagraphFormat.Style.Font.Size = 8;
|
|
|
+ builder.ParagraphFormat.Style.Font.Bold = false;
|
|
|
+ builder.CellFormat.HorizontalMerge = CellMerge.None;
|
|
|
+ builder.CellFormat.FitText = true;//单元格内文字设为多行(默认为单行,会影响单元格宽)
|
|
|
+ builder.ParagraphFormat.Alignment = ParagraphAlignment.Right;//对齐
|
|
|
+ builder.Write("CHECK IN:");
|
|
|
+
|
|
|
+ builder.InsertCell();
|
|
|
+ builder.CellFormat.PreferredWidth = PreferredWidth.FromPercent(30);//列宽 - 百分比
|
|
|
+ builder.ParagraphFormat.Style.Font.Name = "微软雅黑";
|
|
|
+ builder.ParagraphFormat.Style.Font.Size = 8;
|
|
|
+ builder.ParagraphFormat.Style.Font.Bold = false;
|
|
|
+ builder.CellFormat.HorizontalMerge = CellMerge.None;
|
|
|
+ builder.CellFormat.FitText = true;//单元格内文字设为多行(默认为单行,会影响单元格宽)
|
|
|
+ builder.ParagraphFormat.Alignment = ParagraphAlignment.Left;//对齐
|
|
|
+ DateTime dtCheckIn = Convert.ToDateTime(item.CheckInDate);
|
|
|
+ string checkInStr = dtCheckIn.Day + " " + dtCheckIn.ToString("MMMM", CultureInfo.GetCultureInfo("en-US")) + " " + dtCheckIn.Year + " ";
|
|
|
+ builder.Write($"{checkInStr}");
|
|
|
+
|
|
|
+ builder.InsertCell();
|
|
|
+ builder.CellFormat.PreferredWidth = PreferredWidth.FromPercent(20);//列宽 - 百分比
|
|
|
+ builder.ParagraphFormat.Style.Font.Name = "微软雅黑";
|
|
|
+ builder.ParagraphFormat.Style.Font.Size = 8;
|
|
|
+ builder.ParagraphFormat.Style.Font.Bold = false;
|
|
|
+ builder.CellFormat.HorizontalMerge = CellMerge.None;
|
|
|
+ builder.CellFormat.FitText = true;//单元格内文字设为多行(默认为单行,会影响单元格宽)
|
|
|
+ builder.ParagraphFormat.Alignment = ParagraphAlignment.Right;//对齐
|
|
|
+ builder.Write($"CHECK OUT:");
|
|
|
+
|
|
|
+ builder.InsertCell();
|
|
|
+ builder.CellFormat.PreferredWidth = PreferredWidth.FromPercent(30);//列宽 - 百分比
|
|
|
+ builder.ParagraphFormat.Style.Font.Name = "微软雅黑";
|
|
|
+ builder.ParagraphFormat.Style.Font.Size = 8;
|
|
|
+ builder.ParagraphFormat.Style.Font.Bold = false;
|
|
|
+ builder.CellFormat.HorizontalMerge = CellMerge.None;
|
|
|
+ builder.CellFormat.FitText = true;//单元格内文字设为多行(默认为单行,会影响单元格宽)
|
|
|
+ builder.ParagraphFormat.Alignment = ParagraphAlignment.Left;//对齐
|
|
|
+ DateTime dtCheckOut = Convert.ToDateTime(item.CheckOutDate);
|
|
|
+ string checkOutStr = dtCheckOut.Day + " " + dtCheckOut.ToString("MMMM", CultureInfo.GetCultureInfo("en-US")) + " " + dtCheckOut.Year + " ";
|
|
|
+ builder.Write($"{checkOutStr}");
|
|
|
+
|
|
|
+ builder.EndRow();
|
|
|
+ #endregion
|
|
|
+
|
|
|
+ #region 第七行
|
|
|
+ builder.InsertCell();
|
|
|
+ builder.CellFormat.PreferredWidth = PreferredWidth.FromPercent(20);//列宽 - 百分比
|
|
|
+ builder.ParagraphFormat.Style.Font.Name = "微软雅黑";
|
|
|
+ builder.ParagraphFormat.Style.Font.Size = 8;
|
|
|
+ builder.ParagraphFormat.Style.Font.Bold = false;
|
|
|
+ builder.CellFormat.HorizontalMerge = CellMerge.None;
|
|
|
+ builder.CellFormat.FitText = true;//单元格内文字设为多行(默认为单行,会影响单元格宽)
|
|
|
+ builder.ParagraphFormat.Alignment = ParagraphAlignment.Right;//对齐
|
|
|
+ builder.Write($"GUEST NAME:");
|
|
|
+
|
|
|
+ builder.InsertCell();
|
|
|
+ builder.CellFormat.PreferredWidth = PreferredWidth.FromPercent(30);//列宽 - 百分比
|
|
|
+ builder.ParagraphFormat.Style.Font.Name = "微软雅黑";
|
|
|
+ builder.ParagraphFormat.Style.Font.Size = 8;
|
|
|
+ builder.ParagraphFormat.Style.Font.Bold = false;
|
|
|
+ builder.CellFormat.HorizontalMerge = CellMerge.None;
|
|
|
+ builder.CellFormat.FitText = true;//单元格内文字设为多行(默认为单行,会影响单元格宽)
|
|
|
+ builder.ParagraphFormat.Alignment = ParagraphAlignment.Left;//对齐
|
|
|
+ builder.CellFormat.HorizontalMerge = CellMerge.First;
|
|
|
+ builder.Write($"{item.GuestName}");
|
|
|
+
|
|
|
+
|
|
|
+ builder.InsertCell();
|
|
|
+ builder.CellFormat.PreferredWidth = PreferredWidth.FromPercent(20);//列宽 - 百分比
|
|
|
+ builder.CellFormat.HorizontalMerge = CellMerge.Previous;
|
|
|
|
|
|
+ builder.InsertCell();
|
|
|
+ builder.CellFormat.PreferredWidth = PreferredWidth.FromPercent(30);//列宽 - 百分比
|
|
|
+ builder.CellFormat.HorizontalMerge = CellMerge.Previous;
|
|
|
+ builder.EndRow();
|
|
|
+ #endregion
|
|
|
+
|
|
|
+ #region 第八行
|
|
|
+ builder.InsertCell();
|
|
|
+ builder.CellFormat.PreferredWidth = PreferredWidth.FromPercent(20);//列宽 - 百分比
|
|
|
+ builder.ParagraphFormat.Style.Font.Name = "微软雅黑";
|
|
|
+ builder.ParagraphFormat.Style.Font.Size = 8;
|
|
|
+ builder.ParagraphFormat.Style.Font.Bold = false;
|
|
|
+ builder.CellFormat.HorizontalMerge = CellMerge.None;
|
|
|
+ builder.CellFormat.FitText = true;//单元格内文字设为多行(默认为单行,会影响单元格宽)
|
|
|
+ builder.ParagraphFormat.Alignment = ParagraphAlignment.Right;//对齐
|
|
|
+ builder.Write($"ROOM TYPE:");
|
|
|
+
|
|
|
+
|
|
|
+ builder.InsertCell();
|
|
|
+ builder.CellFormat.PreferredWidth = PreferredWidth.FromPercent(30);//列宽 - 百分比
|
|
|
+ builder.ParagraphFormat.Style.Font.Name = "微软雅黑";
|
|
|
+ builder.ParagraphFormat.Style.Font.Size = 8;
|
|
|
+ builder.ParagraphFormat.Style.Font.Bold = false;
|
|
|
+ builder.CellFormat.HorizontalMerge = CellMerge.None;
|
|
|
+ builder.CellFormat.FitText = true;//单元格内文字设为多行(默认为单行,会影响单元格宽)
|
|
|
+ builder.ParagraphFormat.Alignment = ParagraphAlignment.Left;//对齐
|
|
|
+ builder.CellFormat.HorizontalMerge = CellMerge.First;
|
|
|
+ builder.Write($"{item.RoomExplanation}");
|
|
|
+
|
|
|
+ builder.InsertCell();
|
|
|
+ builder.CellFormat.PreferredWidth = PreferredWidth.FromPercent(20);//列宽 - 百分比
|
|
|
+ builder.CellFormat.HorizontalMerge = CellMerge.Previous;
|
|
|
+
|
|
|
+ builder.InsertCell();
|
|
|
+ builder.CellFormat.PreferredWidth = PreferredWidth.FromPercent(30);//列宽 - 百分比
|
|
|
+ builder.CellFormat.HorizontalMerge = CellMerge.Previous;
|
|
|
+ builder.EndRow();
|
|
|
+ #endregion
|
|
|
+
|
|
|
+ #region 第九行
|
|
|
+ builder.InsertCell();
|
|
|
+ builder.CellFormat.PreferredWidth = PreferredWidth.FromPercent(20);//列宽 - 百分比
|
|
|
+ builder.ParagraphFormat.Style.Font.Name = "微软雅黑";
|
|
|
+ builder.ParagraphFormat.Style.Font.Size = 8;
|
|
|
+ builder.ParagraphFormat.Style.Font.Bold = false;
|
|
|
+ builder.CellFormat.HorizontalMerge = CellMerge.None;
|
|
|
+ builder.CellFormat.FitText = true;//单元格内文字设为多行(默认为单行,会影响单元格宽)
|
|
|
+ builder.ParagraphFormat.Alignment = ParagraphAlignment.Right;//对齐
|
|
|
+ builder.Write($"NOTE:");
|
|
|
+
|
|
|
+
|
|
|
+ builder.InsertCell();
|
|
|
+ builder.CellFormat.PreferredWidth = PreferredWidth.FromPercent(30);//列宽 - 百分比
|
|
|
+ builder.ParagraphFormat.Style.Font.Name = "微软雅黑";
|
|
|
+ builder.ParagraphFormat.Style.Font.Size = 8;
|
|
|
+ builder.ParagraphFormat.Style.Font.Bold = false;
|
|
|
+ builder.CellFormat.HorizontalMerge = CellMerge.None;
|
|
|
+ builder.CellFormat.FitText = true;//单元格内文字设为多行(默认为单行,会影响单元格宽)
|
|
|
+ builder.ParagraphFormat.Alignment = ParagraphAlignment.Left;//对齐
|
|
|
+ builder.CellFormat.HorizontalMerge = CellMerge.First;
|
|
|
+ builder.Write($"ROOM AND TAX ONLY\r\nTHIS SERVICE IS PAYABLE BY BEDSONLINE. FOR EXTRA CHARGE TO BE COLLECTED FROM THE GUEST");
|
|
|
+
|
|
|
+ builder.InsertCell();
|
|
|
+ builder.CellFormat.PreferredWidth = PreferredWidth.FromPercent(20);//列宽 - 百分比
|
|
|
+ builder.CellFormat.HorizontalMerge = CellMerge.Previous;
|
|
|
+
|
|
|
+ builder.InsertCell();
|
|
|
+ builder.CellFormat.PreferredWidth = PreferredWidth.FromPercent(30);//列宽 - 百分比
|
|
|
+ builder.CellFormat.HorizontalMerge = CellMerge.Previous;
|
|
|
+ builder.EndRow();
|
|
|
+ #endregion
|
|
|
+
|
|
|
+ builder.EndTable();
|
|
|
+ builder.Writeln("");
|
|
|
+ builder.Writeln("");
|
|
|
}
|
|
|
|
|
|
+ //// 遍历文档中的所有段落
|
|
|
+ //foreach (Paragraph para in doc.GetChildNodes(NodeType.Paragraph, true))
|
|
|
+ //{
|
|
|
+ // // 设置段落的字体样式
|
|
|
+ // // 这里我们设置字体为Times New Roman,大小为12,加粗
|
|
|
+ // para.ParagraphFormat.Style.Font.Name = "微软雅黑";
|
|
|
+ // para.ParagraphFormat.Style.Font.Size = 12;
|
|
|
+ // para.ParagraphFormat.Style.Font.Bold = true;
|
|
|
+ //}
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
}
|
|
|
catch (Exception ex)
|
|
|
{
|
|
|
|
|
|
- throw;
|
|
|
+
|
|
|
}
|
|
|
|
|
|
|
|
|
var fileDir = AppSettingsHelper.Get("WordBasePath") + strFileName;
|
|
|
- //doc.Save(fileDir);
|
|
|
+ doc.Save(fileDir);
|
|
|
string Url = AppSettingsHelper.Get("WordBaseUrl") + "Office/Word/" + strFileName;
|
|
|
return Ok(JsonView(true, "操作成功!", Url));
|
|
|
}
|