NuGet下载安装参考:Visual Studio NuGet离线安装包_visual studionuget包离线下载_苏守坤的博客-CSDN博客
iTextSharp安装:
第一步:
第二步:
Aspose.Words安装:
同样都是NuGet里面进行下载。
上面都是找文件的操做,具体的安装操做看这里,这使用iTextSharp作为例子,Aspose.Words就不再提示例子。
首先,红色框是选中要按照的插件,绿色方块是你要按照到的工程目录,黑色框是你要安装的版本。
如果安装成功回有一个提示。这是Aspose.Words的提示。
代码:
写入csv格式的数据:
public bool keepDataCsv(List<ClassCSV> list)
{
Dictionary<int, string> defectMapping = new Dictionary<int, string>();
foreach (var item in Globals.DefectPriorityConfigs)
{
defectMapping.Add(item.Number, item.Name);
}
if (list.IsValid())
{
string time = DateTime.Now.ToString("yyyy-MM-dd");
string path = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, $@"SpotCheckFile\{time + "\\"}");
if (!Directory.Exists(path))
{
Directory.CreateDirectory(path);
}
//StreamWriter writer = new StreamWriter();
string filePath = path + "SPOTCHECK.csv";
StreamWriter writer = null;
try
{
if (File.Exists(filePath))
{
writer = new StreamWriter(filePath, true, Encoding.UTF8); // 追加模式
}
else
{
writer = new StreamWriter(filePath, true, Encoding.UTF8); // 创建文件并写入
}
// 在文件中写入数据
if (titleindex)
writer.WriteLine("2D Barcode,Date,Time,AIM Name,AIM Unique #,OK(1)/NG(0),点检人,点检结果,Defect");//表头
//List<string> defectName = new List<string>();
string defectName = "";
string now = DateTime.Now.ToString("HH:mm:ss");
string name = LoginName.Text;
for (int i = 1; i <= Globals.DefectPriorityConfigs.Count; i++)
{
if (list[0].GetPropertyValue("DEFECT_" + i + "_PHOTOID").ToString() != "0")
{
defectName += defectMapping[i];
defectName += ",";
}
}
if (!string.IsNullOrEmpty(defectName))
{
defectName = defectName.Substring(0, defectName.Length - 1);
}
string newstr = list[0].QRCODE + "," + list[0].Q_CSV_DATE.ToString("yyyy-MM-dd") + "," + now + "," + "TC ANO AOI" + "," + "1#" + "," + list[0].RESULT + "," + name + "," + spotCheckStr + "," + defectName;
writer.WriteLine(newstr);
}
catch (Exception ex)
{
// 处理异常
writer.Close();
return false;
}
finally
{
if (writer != null)
{
writer.Close();
}
}
return true;
}
return false;
}
导出成pdf:
public void resultToPdf(string str)
{
string time = DateTime.Now.ToString("yyyy-MM-dd");
string path = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, $@"SpotCheckFile\{time + "\\"}");
if (!Directory.Exists(path))
{
Directory.CreateDirectory(path);
}
string filePath = path + "SPOTCHECK.csv";
StreamWriter writer = null;
if (File.Exists(filePath))
{
writer = new StreamWriter(filePath, true, Encoding.UTF8); // 追加模式
}
else
{
writer = new StreamWriter(filePath, true, Encoding.UTF8); // 创建文件并写入
}
writer.WriteLine(str);
writer.Close();
// 定义Word文件路径
string wordFilePath = filePath;
// 定义PDF文件路径
string pdfFilePath = filePath.Replace(".csv", ".pdf");
// 创建PDF文档对象
Document document = new Document();
// 定义PDF输出流
//PdfWriter writer2 = PdfWriter.GetInstance(document, new FileStream(pdfFilePath, FileMode.Create));
// 打开PDF文档
document.Open();
// 创建Word文档对象
Aspose.Words.Document wordDoc = new Aspose.Words.Document(wordFilePath);
// 将Word文档转换为PDF格式,并写入PDF文档
wordDoc.Save(pdfFilePath, Aspose.Words.SaveFormat.Pdf);
// 关闭PDF文档
document.Close();
//writer2.Close();
}
本文仅提供参考,个人作为技能技能记录。