C# 这个代码有什么问题吗?这是给我损坏的内容 private static void UpdateFontSettings(WordprocessingDocument内容,WordprocessingDocument模板) { 如果(content!=null&&content.MainDocumentPart!=null&&content.MainDocumentPart.FontTablePart!=null&& 模板!=null&&template.MainDocumentPart!=null&&template.MainDocumentPart.FontTablePart!=null) { IEnumerable partsToDelete=来自content.main documentpart.FontTablePart.Parts中的idPartPair 选择idPartPair.OpenXmlPart; content.MainDocumentPart.FontTablePart.DeleteParts(partsToDelete); StreamReader StreamReader=null; StreamWriter StreamWriter=null; 尝试 { streamReader=新的streamReader(template.MainDocumentPart.FontTablePart.GetStream()); streamWriter=新的streamWriter(content.MainDocumentPart.FontTablePart.GetStream(FileMode.Create)); } 抓住 { if(streamReader!=null) { streamReader.Close(); } 投掷; } 使用(streamWriter) { streamWriter.Write(streamReader.ReadToEnd()); } if(streamReader!=null) { streamReader.Close(); } } }
我建议您在创建C# 这个代码有什么问题吗?这是给我损坏的内容 private static void UpdateFontSettings(WordprocessingDocument内容,WordprocessingDocument模板) { 如果(content!=null&&content.MainDocumentPart!=null&&content.MainDocumentPart.FontTablePart!=null&& 模板!=null&&template.MainDocumentPart!=null&&template.MainDocumentPart.FontTablePart!=null) { IEnumerable partsToDelete=来自content.main documentpart.FontTablePart.Parts中的idPartPair 选择idPartPair.OpenXmlPart; content.MainDocumentPart.FontTablePart.DeleteParts(partsToDelete); StreamReader StreamReader=null; StreamWriter StreamWriter=null; 尝试 { streamReader=新的streamReader(template.MainDocumentPart.FontTablePart.GetStream()); streamWriter=新的streamWriter(content.MainDocumentPart.FontTablePart.GetStream(FileMode.Create)); } 抓住 { if(streamReader!=null) { streamReader.Close(); } 投掷; } 使用(streamWriter) { streamWriter.Write(streamReader.ReadToEnd()); } if(streamReader!=null) { streamReader.Close(); } } },c#,openxml,C#,Openxml,我建议您在创建StreamWriter时设置编码类型。我相信对于大多数系统,它默认为ANSI,尽管您可能需要UTF8或其他东西。哪里会发生异常?如果它给您提供损坏的内容,那么是的,有问题。你应该说哪里出了问题,为什么你认为那是错误的,什么时候你认为应该这样做。此外,你可能想在try中使用(streamWriter)部分..catch block因为你本可以关闭streamReaderwow,我不敢相信人们在这个问题上浪费了否决票。他/她是新来的,所以,给他们一些松懈,帮助他们学习如何使用网站,而
StreamWriter
时设置编码类型。我相信对于大多数系统,它默认为ANSI,尽管您可能需要UTF8或其他东西。哪里会发生异常?如果它给您提供损坏的内容,那么是的,有问题。你应该说哪里出了问题,为什么你认为那是错误的,什么时候你认为应该这样做。此外,你可能想在try中使用(streamWriter)部分..catch block因为你本可以关闭streamReaderwow,我不敢相信人们在这个问题上浪费了否决票。他/她是新来的,所以,给他们一些松懈,帮助他们学习如何使用网站,而不是贬低他们的废话。
private static void UpdateFontSettings(WordprocessingDocument content, WordprocessingDocument template)
{
if (content != null && content.MainDocumentPart != null && content.MainDocumentPart.FontTablePart != null &&
template != null && template.MainDocumentPart != null && template.MainDocumentPart.FontTablePart != null)
{
IEnumerable<OpenXmlPart> partsToDelete = from idPartPair in content.MainDocumentPart.FontTablePart.Parts
select idPartPair.OpenXmlPart;
content.MainDocumentPart.FontTablePart.DeleteParts(partsToDelete);
StreamReader streamReader = null;
StreamWriter streamWriter = null;
try
{
streamReader = new StreamReader(template.MainDocumentPart.FontTablePart.GetStream());
streamWriter = new StreamWriter(content.MainDocumentPart.FontTablePart.GetStream(FileMode.Create));
}
catch
{
if (streamReader != null)
{
streamReader.Close();
}
throw;
}
using (streamWriter)
{
streamWriter.Write(streamReader.ReadToEnd());
}
if (streamReader != null)
{
streamReader.Close();
}
}
}