C# Can';t给出C中函数的正确路径#
我正在尝试使用C#将PDF文件转换为Excel文件。 当我写这篇文章时:C# Can';t给出C中函数的正确路径#,c#,excel,pdf,C#,Excel,Pdf,我正在尝试使用C#将PDF文件转换为Excel文件。 当我写这篇文章时: foreach (var file in d.GetFiles("*.pdf")) { var f = new SautinSoft.PdfFocus { Serial = "xxxxxxxxxxxxx" }; f.OpenPdf(file.OpenRead()); if (f.PageCount > 0) f.ToExcel(@"d:\File.xls"); } for
foreach (var file in d.GetFiles("*.pdf"))
{
var f = new SautinSoft.PdfFocus { Serial = "xxxxxxxxxxxxx" };
f.OpenPdf(file.OpenRead());
if (f.PageCount > 0)
f.ToExcel(@"d:\File.xls");
}
foreach (var file in d.GetFiles("*.pdf"))
{
var f = new SautinSoft.PdfFocus { Serial = "xxxxxxxxxxxxx" };
f.OpenPdf(file.OpenRead());
if (f.PageCount > 0)
f.ToExcel(@"d:" + file.FullName + "xls");
}
这是可行的,但当我写这篇文章时:
foreach (var file in d.GetFiles("*.pdf"))
{
var f = new SautinSoft.PdfFocus { Serial = "xxxxxxxxxxxxx" };
f.OpenPdf(file.OpenRead());
if (f.PageCount > 0)
f.ToExcel(@"d:\File.xls");
}
foreach (var file in d.GetFiles("*.pdf"))
{
var f = new SautinSoft.PdfFocus { Serial = "xxxxxxxxxxxxx" };
f.OpenPdf(file.OpenRead());
if (f.PageCount > 0)
f.ToExcel(@"d:" + file.FullName + "xls");
}
它不起作用。我怎样才能改变这一行使它工作
f.ToExcel(@"d:" + file.FullName + ".xls");
file.Fullname
已包含完整路径。因此,在开头省略“d:。返回包括扩展名在内的全名。因此,在第一个实例中,您试图用错误的扩展名编写Excel文件。虽然这可以在Unix系统上运行,但Windows希望扩展是正确的。通过硬编码“.xls”,您将文件名更改为:
@“d:\Path\File.pdf.xls”
这是正确的,但令人困惑
您需要从文件中删除“.pdf”,并将其替换为“.xls”。最简单的方法可能是:
string filename = file.FullName.Replace(".pdf", ".xls");
f.ToExcel(filename);
由于Fullname
已包含前导驱动器号
这会将所有出现的“.pdf”更改为“.xls”,因此如果该字符串出现在路径中的其他位置,它也会在路径中更改。我尝试了
f.ToExcel(@“+file.FullName);
和f.ToExcel(file.FullName);
但它们都没有生成xls文件。在您的代码文件中,是一个.pdf文件,但您硬编码了一个“.xls”“文件…”您缺少\'
和'。
在d:
之后,您的路径应该是f.ToExcel(@“d:\”+file.FullName+“.xls”)代码>这是调试器非常有用的地方。在file.FullName
行上弹出一个断点,查看实际值,