如何在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样式的行/列坐标转换为像素坐标。我在插入图表时也遇到过同样的问题。下面的第一个函数将给你你的"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 "";
}