如何在Excel文件中插入文本

本文关键字:插入文本 文件 Excel | 更新日期: 2023-09-27 18:21:16

目的是使用C#将一个图像和附带的文本插入到Excel文件中,并带有图片的坐标。插入图像可以,但我不能对任何文本这样做。

例如:图像的坐标:顶部=14f,左侧=16f

我插入图像的代码:

Excel.Shape img = worksheet.Shapes(,,top,left,width,height);

我插入文本的代码:

worksheet.Cells[x,y] = "jdshfg";

这是Excel中使用行和列的一个单元格的文本插入函数。

我想从左上角得到这个单元格的[x,y](图像的坐标)。

如何在Excel文件中插入文本

如果我理解您的要求,您需要将Excel样式的行/列坐标转换为像素坐标。我在插入图表时也遇到过同样的问题。下面的第一个函数将给你你的"x",第二个函数给你的"y"。

public double CellRangeToPixelWidth(Worksheet sheet, int left, int right) {
  Range range = sheet.get_Range(CellString(left - 1, 1, right - 1, 1), Type.Missing);
  return range.Width;
}
public double CellRangeToPixelHeight(Worksheet sheet, int top, int bottom) {
  Range range = sheet.get_Range(CellString(0, top, 0, bottom), Type.Missing);
  return range.Height;
}
public string CellString(int left, int top, int right, int bottom) {
  return string.Format("{0}{1}:{2}{3}", CellString(left), top, CellString(right), bottom);
}
public string CellString(int col) {
  if (col < 26)
    return ((char)('A' + col)).ToString();
  else if (col < 27 * 26)
    return ((char)('A' + col / 26 - 1)).ToString() + ((char)('A' + col % 26)).ToString();
  return "";
}