使用 C# 在特定单元格的 Excel 中添加图片
Add Picture in Excel on Particular Cell with C#
我正在尝试将图像添加到第 3 行第 1 列的 Excel 单元格中,如下所述。编译器给了我一个错误。
我在这里做错了什么吗?预先感谢您的建议。
Excel.Application xlApp;
Excel.Workbook wb;
Excel.Worksheet ws;
object misValue = System.Reflection.Missing.Value;
xlApp = new Excel.Application();
wb = xlApp.Workbooks.Add(misValue);
ws = (Excel.Worksheet)wb.Worksheets.get_Item(1);
ws.Cells[3, 1] = ws.Shapes.AddPicture("C:\photos\4a.png", Microsoft.Office.Core.MsoTriState.msoFalse, Microsoft.Office.Core.MsoTriState.msoCTrue, 75, 75, 350, 50);
你必须像下面这样添加图片
Microsoft.Office.Interop.Excel.Range oRange = (Microsoft.Office.Interop.Excel.Range)ws.Cells[3, 1];
float Left = (float)((double)oRange.Left);
float Top = (float)((double)oRange.Top);
const float ImageSize = 32;
ws.Shapes.AddPicture("C:\pic.JPG", Microsoft.Office.Core.MsoTriState.msoFalse, Microsoft.Office.Core.MsoTriState.msoCTrue, Left, Top, ImageSize, ImageSize);
Aspose.Cells API 可用于在 Excel 中使用 C# 或其他编程语言在特定单元格上添加图片,例如Java、C++等
为了演示,请参阅以下 C# 代码 和显示输入 Excel 文件和输出的 Snapshot Excel 文件由 Aspose.Cells API 代码执行后生成。 如您在快照中所见,单元格 C12 包含图片。
另请阅读代码中的注释以获得更多帮助。
C#
// Load input Excel file inside Aspose.Cells Workbook object.
Workbook wb = new Workbook("SampleAddPictureInExcelCell.xlsx");
// Access first worksheet.
Worksheet ws = wb.Worksheets[0];
// Access cell C12 by name.
Cell cell = ws.Cells["C12"];
// Add picture in Excel cell.
int idx = ws.Pictures.Add(cell.Row, cell.Column, "D:/Download/Penguins.jpg");
// Access the picture by index.
Picture pic = ws.Pictures[idx];
// Get the column width and row height of the cell in inches.
double w = ws.Cells.GetColumnWidthInch(cell.Column);
double h = ws.Cells.GetRowHeightInch(cell.Row);
// Adjust the picture width and height as per cell width and height.
pic.WidthInch = w;
pic.HeightInch = h;
// Save the workbook in output Excel file.
wb.Save("OutputAddPictureInExcelCell.xlsx", SaveFormat.Xlsx);
显示输入 Excel 文件和由 Aspose.Cells API 生成的输出 Excel 文件的快照。此处单元格 C12 包含图片。
我正在尝试将图像添加到第 3 行第 1 列的 Excel 单元格中,如下所述。编译器给了我一个错误。 我在这里做错了什么吗?预先感谢您的建议。
Excel.Application xlApp;
Excel.Workbook wb;
Excel.Worksheet ws;
object misValue = System.Reflection.Missing.Value;
xlApp = new Excel.Application();
wb = xlApp.Workbooks.Add(misValue);
ws = (Excel.Worksheet)wb.Worksheets.get_Item(1);
ws.Cells[3, 1] = ws.Shapes.AddPicture("C:\photos\4a.png", Microsoft.Office.Core.MsoTriState.msoFalse, Microsoft.Office.Core.MsoTriState.msoCTrue, 75, 75, 350, 50);
你必须像下面这样添加图片
Microsoft.Office.Interop.Excel.Range oRange = (Microsoft.Office.Interop.Excel.Range)ws.Cells[3, 1];
float Left = (float)((double)oRange.Left);
float Top = (float)((double)oRange.Top);
const float ImageSize = 32;
ws.Shapes.AddPicture("C:\pic.JPG", Microsoft.Office.Core.MsoTriState.msoFalse, Microsoft.Office.Core.MsoTriState.msoCTrue, Left, Top, ImageSize, ImageSize);
Aspose.Cells API 可用于在 Excel 中使用 C# 或其他编程语言在特定单元格上添加图片,例如Java、C++等
为了演示,请参阅以下 C# 代码 和显示输入 Excel 文件和输出的 Snapshot Excel 文件由 Aspose.Cells API 代码执行后生成。 如您在快照中所见,单元格 C12 包含图片。
另请阅读代码中的注释以获得更多帮助。
C#
// Load input Excel file inside Aspose.Cells Workbook object.
Workbook wb = new Workbook("SampleAddPictureInExcelCell.xlsx");
// Access first worksheet.
Worksheet ws = wb.Worksheets[0];
// Access cell C12 by name.
Cell cell = ws.Cells["C12"];
// Add picture in Excel cell.
int idx = ws.Pictures.Add(cell.Row, cell.Column, "D:/Download/Penguins.jpg");
// Access the picture by index.
Picture pic = ws.Pictures[idx];
// Get the column width and row height of the cell in inches.
double w = ws.Cells.GetColumnWidthInch(cell.Column);
double h = ws.Cells.GetRowHeightInch(cell.Row);
// Adjust the picture width and height as per cell width and height.
pic.WidthInch = w;
pic.HeightInch = h;
// Save the workbook in output Excel file.
wb.Save("OutputAddPictureInExcelCell.xlsx", SaveFormat.Xlsx);
显示输入 Excel 文件和由 Aspose.Cells API 生成的输出 Excel 文件的快照。此处单元格 C12 包含图片。